Skip to content

Solo quickstart

Solo mode keeps the deployment loop local: your checkout, your VM, SSH, Docker, and the devopsellence CLI.

  1. Initialize the workspace.
Terminal window
devopsellence init --mode solo

Start from an app that already has a Dockerfile.

  1. Commit the app before the first deploy.
Terminal window
git init # if this is not already a checkout
git add .
git commit -m "initial deploy"

devopsellence uses the current git commit as the workload revision and image tag.

  1. Add a node, install the node agent, and attach it.
Terminal window
devopsellence node create prod-1 --host 203.0.113.10 --user root --ssh-key ~/.ssh/id_ed25519
devopsellence agent install prod-1
devopsellence node attach prod-1
devopsellence doctor

Existing SSH nodes need key-based SSH and Docker. On supported Ubuntu VMs, devopsellence agent install can install Docker when it is missing.

  1. Deploy, inspect, and read logs.
Terminal window
devopsellence deploy --dry-run
devopsellence deploy
devopsellence status
devopsellence logs --node prod-1 --lines 100
devopsellence node logs prod-1 --lines 100

deploy --dry-run prints a structured plan and does not build images, connect to nodes, publish desired state, or write solo state. Review that plan before mutating production.

  1. Add a hostname and HTTPS when the app is ready for public traffic.
Terminal window
devopsellence ingress set --service web --host app.example.com --tls-email ops@example.com
# update DNS so app.example.com points at the attached web node IP before deploy
devopsellence deploy
devopsellence ingress check --wait 5m
devopsellence status
curl https://app.example.com/

With auto TLS, deploy runs a DNS preflight and expects the hostname to resolve to the attached web node IPs. ingress check verifies DNS and TLS after deploy publishes the ingress desired state. Treat HTTPS as ready only after the DNS/TLS check, status, and a direct HTTPS request all agree. See Ingress and TLS for details.