Skip to content

5-Minute Quickstart

End-to-end, on a fresh Linux VPS with Docker installed and a domain pointing at it.

  1. Install SimpleDeploy.

    Terminal window
    curl -fsSL https://vazra.github.io/apt-repo/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/vazra.gpg
    echo "deb [signed-by=/usr/share/keyrings/vazra.gpg arch=$(dpkg --print-architecture)] https://vazra.github.io/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/vazra.list
    sudo apt update && sudo apt install simpledeploy
  2. Generate the config.

    Terminal window
    sudo simpledeploy init --config /etc/simpledeploy/config.yaml
    sudo vim /etc/simpledeploy/config.yaml

    Set three things:

    domain: manage.example.com
    tls:
    mode: auto
    email: you@example.com
    master_secret: "PASTE_RANDOM_STRING_HERE"

    Generate the master secret:

    Terminal window
    openssl rand -hex 32
  3. Start the server.

    Terminal window
    sudo systemctl enable --now simpledeploy
    sudo systemctl status simpledeploy
  4. Create the admin user.

    Open https://manage.example.com/ in a browser. The setup wizard greets you and asks for a username and password. That account is the first super-admin.

    Prefer the CLI? See Create the admin.

  5. Deploy your first app.

    Drop a compose file in /etc/simpledeploy/apps/whoami/docker-compose.yml:

    services:
    web:
    image: traefik/whoami
    ports:
    - "80"
    labels:
    simpledeploy.domain: "whoami.example.com"
    simpledeploy.port: "80"
    restart: unless-stopped

    The reconciler picks it up within a few seconds. Or push it explicitly:

    Terminal window
    simpledeploy apply -f docker-compose.yml --name whoami
  6. Visit your domain.

    Open https://whoami.example.com/. Caddy provisioned a Let’s Encrypt cert, the reverse proxy is routing, the container is serving. Done.