Skip to main content

Migrate Custom Applications to Elestio

info

This migration document is for services not supported by Elestio as fully managed options. If you're unsure about software support, check here. For supported software, use the Managed Services Migration Guide.

1️⃣ Pre-requisites​

  1. Verify Support: Check if your service is in Elestio's software catalogue here
  2. Create Account: Set up your account on Elestio
  3. Check Application Health: Ensure your application works correctly with no critical errors in logs
  4. Version Compatibility: Use the same software version as your current service to prevent migration failures

2️⃣ Git Repository Migration​

If your service/application is hosted on Git repositories (public & private), follow these steps for easy migration:

Step 1: Import Repository​

Navigate to the CI/CD section and import your Git repository

Git repository import interface

Step 2: Select Infrastructure​

Choose your preferred cloud provider, region, and service plan

Cloud provider selection interface

Step 3: Configure Tech Stack​

Select your tech stack or docker-compose if available in your Git repository

Tech stack selection interface

Step 4: Additional Configuration​

Add extra configurations through the "Build and Deploy" option. For missing components, use manual migration steps below.

3️⃣ Containerized Migration​

For containerized applications using pre-built Docker images:

Step 1: Access Docker Compose Option​

Go to Elestio dashboard, navigate to CI/CD section, select custom docker-compose, and click Deploy

Docker Compose deployment interface

Step 2: Select Infrastructure​

Choose your cloud service provider, region, and service plan

Infrastructure selection for Docker deployment

Step 3: Configure Docker Compose​

Add your docker-compose configuration code. Check the private repository option if using private Docker repositories

Docker Compose configuration interface

4️⃣ Manual Migration​

For non-containerized applications requiring manual migration:

Step 1: Select Template​

Choose a template that matches your application's tech stack

Template selection interface

Step 2: Access Tools​

After deployment, go to the "Tools" tab and select your preferred method to upload assets and data

Tools selection interface

Step 3: Upload Files​

Using File Explorer (example), navigate to /opt/app/PIPELINE_NAME and upload your code files and assets exactly as organized in your project directory

File upload interface in File Explorer

Step 4: Update Settings​

After successful upload, update the settings in the dashboard

5️⃣ Database Migration​

For applications with database components:

UI-Based Databases​

If your database provides UI options (e.g., phpMyAdmin, pgAdmin):

  1. Export data from the original database using the UI
  2. Import the exported file into the Elestio instance through the UI

Command-Line Databases​

For databases without UI export/import options:

  1. Export data using command-line tools
  2. Upload the exported file to the VM using manual migration steps
  3. Restore the file in the database using appropriate commands

6️⃣ Testing the Migration​

  1. Verify Functionality: Test that your application runs as intended on Elestio

  2. Use Integrated Tools: Utilize File Explorer, VSCode, or FileZilla for additional data and asset configuration

  3. Troubleshooting: If issues occur, restart your instance and containers:

    docker-compose down;
    docker-compose up -d --build
  4. Check Logs: Review logs for failures, considering potential version differences between your original application and Elestio's version

7️⃣ Need Additional Help?​

Stuck somewhere? We're here to help! Create a support ticket and we'll get back to you promptly.