Skip to main content

Deployment Overview

Appliku automates the full build-and-deploy cycle: you push code to Git, and Appliku builds a Docker image, deploys it to your server, and routes traffic through Nginx with SSL.

How the Deploy Cycle Works

Git Push → Webhook → Build Docker Image → Run Release Command → Start Processes → Route Traffic

1. Trigger

A deployment is triggered by:

  • Push to deploy — automatic on git push to the configured branch
  • Manual deploy — click "Deploy" in the dashboard
  • Webhook — an external system (CI/CD pipeline) calls the deployment webhook

2. Build

Appliku pulls the latest code from your branch and builds a Docker image:

  • Build images (default) — Appliku provides pre-configured Docker images for Python, Node.js, Ruby, and more. These install dependencies from requirements.txt, package.json, or Gemfile automatically.
  • Custom Dockerfile — Bring your own Dockerfile for full control over the build environment.
  • Static sites — Build is followed by extracting the output directory (e.g., build/) and serving it via Nginx.

If a build command is configured (e.g., npm run build), it runs during the image build.

3. Release

If a release process is configured, Appliku runs it after a successful build. This is typically used for:

  • Database migrations (python manage.py migrate)
  • Asset compilation
  • Superuser creation or seed data

The release command runs once per deployment, not continuously.

4. Deploy

The new Docker image replaces the running containers:

  • Standalone mode — Appliku generates a docker-compose.yml from your enabled processes and runs it on the server
  • Cluster mode — Appliku pushes the image to a container registry and updates the Docker Swarm stack

5. Route Traffic

Nginx on the server is configured to proxy HTTP/HTTPS traffic to your web process container. Let's Encrypt SSL certificates are automatically provisioned for all domains.

Deployment Modes

Standalone (Server Mode)

Best for most applications. Your app runs on a single server via Docker Compose with Nginx.

Cluster (Docker Swarm)

For applications that need to scale across multiple servers. See Docker Swarm Clusters for details.

Deployment Guides