Skip to main content

Migrate from Heroku

Appliku shares many concepts with Heroku — Procfiles, environment variables, add-ons as managed databases — so migrating is straightforward. This guide walks you through moving your application from Heroku to Appliku and highlights the key differences.

Overview: Heroku Concepts in Appliku

HerokuAppliku
DynosProcesses
Config VarsEnvironment Variables
ProcfileProcfile (same format) or Processes tab in dashboard
Heroku PostgresAppliku PostgreSQL (provisioned on your server)
Heroku RedisAppliku Redis (provisioned on your server)
Custom DomainsDomains
BuildpacksBuild images or custom Dockerfile
Release phaserelease process

Heroku Sync Feature

Appliku has a built-in Heroku sync feature that can import your application directly. When creating a new application in the Appliku dashboard, look for the Heroku tab in the application creation form. This lets you connect to your Heroku account and sync an existing Heroku app — including its configuration — into Appliku.

tip

The Heroku sync feature is the fastest way to migrate. It pulls your app's repository connection, environment variables, and process definitions automatically.

Step-by-Step Migration

If you prefer to migrate manually or the Heroku sync does not cover your setup, follow these steps.

Step 1: Create an Application in Appliku

Go to the Applications page in your Appliku dashboard and click + Add Application.

Select GitHub (or GitLab) and choose the same repository and branch your Heroku app deploys from.

Give your application a name, select the server to deploy to, and click Create Application.

Step 2: Map Procfile Processes

Appliku reads the standard Procfile format. If your repository already has a Procfile, Appliku can use it directly.

Go to the Processes tab and add processes that match your Heroku Procfile. For example, if your Procfile contains:

web: gunicorn myapp.wsgi --log-file -
worker: celery -A myapp worker --loglevel=info
release: python manage.py migrate

Add three processes in Appliku:

  • web: gunicorn myapp.wsgi --log-file -
  • worker: celery -A myapp worker --loglevel=info
  • release: python manage.py migrate

The web process receives HTTP traffic. The release process runs once after each successful build.

Step 3: Copy Environment Variables

In Heroku, run:

heroku config -a your-app-name

This prints all your config vars. Copy them into the Environment Variables tab in your Appliku application settings.

note

The DATABASE_URL and REDIS_URL variables will change when you provision databases in Appliku (see Step 4). Do not copy the Heroku database URLs — Appliku will set these automatically.

Step 4: Provision Databases

On the application overview page, scroll down and click Add Database to provision the databases your app needs:

  • Heroku Postgres becomes Appliku PostgreSQL — select the PostgreSQL version and the server to run it on
  • Heroku Redis becomes Appliku Redis — provision a Redis instance on the same server

Once provisioned, Appliku automatically adds the connection URLs (e.g., DATABASE_URL, REDIS_URL) to your application's environment variables.

Step 5: Set Up Custom Domains

Go to the Domains tab and add your custom domains. Appliku will automatically provision Let's Encrypt SSL certificates for each domain.

Your app will also receive a default subdomain at your-app-name.applikuapp.com that you can use for testing before switching DNS.

Step 6: Switch DNS

Once you have verified that your application is running correctly on Appliku (use the default .applikuapp.com domain to test), update your DNS records:

  1. Point your domain's A record to your Appliku server's IP address, or
  2. Set a CNAME record pointing to the Appliku-provided domain

After DNS propagates, traffic will flow to your Appliku-deployed application.

Key Differences from Heroku

Your Own Servers

Appliku deploys to your own servers — not shared infrastructure. You choose the cloud provider (AWS, DigitalOcean, Hetzner, or any VPS) and the server size. This means:

  • No dyno sleeping — your app runs 24/7 without cold starts
  • Predictable pricing — you pay your cloud provider directly for the server, plus the Appliku subscription
  • Full server access — you can SSH into your server if needed

No Ephemeral Filesystem

Unlike Heroku, where the filesystem resets on every deploy, Appliku supports persistent volumes. If your app writes to disk (uploads, generated files), you can attach a volume so files survive deployments and restarts.

Procfile Compatibility

Appliku reads the standard Procfile format, so your existing Procfile works without changes. You can also define processes in the dashboard UI if you prefer not to use a Procfile.

Buildpacks vs Build Images

Heroku uses buildpacks to detect and build your application. Appliku uses build images — pre-configured Docker images for Python, Node.js, Ruby, and more. You select the build image in the Build Settings tab.

For full control, you can use a custom Dockerfile instead.