Deploy App
Custom containers
Run any public Docker image — Redis, ClickHouse, Meilisearch, n8n… — on your server, with your own ports, volumes, network and limits.
Besides websites, Deploy App runs any public Docker image on your server: a cache, a search engine, an analytics database, a tool with a web interface. Press New app → Custom container.
What you fill in
| Field | What it is |
|---|---|
| Name | Lower-case, like redis-cache. The container is called dcp-app-redis-cache. Can't be changed later |
| Image | The name on Docker Hub, like redis or clickhouse/clickhouse-server. Images from other public registries work too (ghcr.io/owner/name) |
| Version (tag) | Like 7.4. Empty means latest. Check looks the image up on Docker Hub and lists its recent tags |
| Ports | Container port → server port. Local = only this server can reach it (other apps, nginx). Public = anyone your cloud firewall lets through |
| Volumes | Where data lives. A named volume (like redis-data → /data) is kept across redeploys. A server folder (like /srv/files → /files) maps a folder on the server |
| Environment | Variables the image reads, pasted like a .env |
| Domains (optional) | Point a domain at it and set the web port: nginx sends the domain's traffic there, and Apply SSL works as for websites |
Under Advanced: network, extra network names (aliases), command and entrypoint, restart policy, memory and CPU limits, user, working folder, hostname, health-check command, privileged mode, extra capabilities and ulimits.
Networks
- Private network (default). Your apps and managed databases share one
network on the server and reach each other by container name:
dcp-app-redis-cache:6379. Nothing needs a public port for that. - Bridge — Docker's default: isolated, reachable only through published ports.
- Host — the container uses the server's network directly (no port mapping).
- None — no network at all.
Public ports skip the server's firewall. Docker publishes ports past UFW and iptables, so restrict who can connect in your cloud provider's firewall (security group).
Deploys, updates and rollback
- Deploy pulls the image again. For a tag like
latestor7, that brings the newest build of that version. - Containers keep data in volumes, so the new version doesn't run beside the old one: the old one stops, the new one starts, and if the new one crashes or fails its health check, the old one is started again.
- Every deploy records the exact image (its digest), so Roll back runs the very same image as before, even if the tag has moved on.
Deleting
Delete removes the container and its nginx site. Data volumes are kept unless you tick Also delete the data volumes. Server folders are never deleted.
