Add docker-compose.yml for deploying upaas (closes #223)
Check / check (pull_request) Successful in 3m19s
Check / check (pull_request) Successful in 3m19s
The compose file builds the image from this repo, mounts the Docker socket and HOST_DATA_DIR (passed to upaas as UPAAS_HOST_DATA_DIR), reads settings from .env, and restarts unless stopped. The port is published on 127.0.0.1 only, for a TLS-terminating proxy in front. PORT and UPAAS_DATA_DIR are pinned so .env cannot move upaas off the port mapping, the healthcheck (busybox wget) or the data mount. upaas now refuses to start when UPAAS_HOST_DATA_DIR is set to a relative path; when unset it still falls back to the data directory. The README's plain-HTTP Compose example becomes a short deploy section that points at the file. .env is added to .dockerignore. Model: opus-5-5
This commit was merged in pull request #225.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Runs upaas. Put settings in .env next to this file; see "Deploying with
|
||||
# Docker Compose" in README.md.
|
||||
services:
|
||||
upaas:
|
||||
build: .
|
||||
restart: unless-stopped
|
||||
# Every line of .env is passed to upaas as an environment variable.
|
||||
env_file: .env
|
||||
environment:
|
||||
# Overrides any PORT in .env, so upaas listens where the port mapping
|
||||
# and healthcheck below expect it.
|
||||
PORT: "8080"
|
||||
# Overrides any UPAAS_DATA_DIR in .env, so the database stays on the
|
||||
# HOST_DATA_DIR mount below instead of inside the container.
|
||||
UPAAS_DATA_DIR: /var/lib/upaas
|
||||
# The Docker daemon resolves app bind mounts on the host, so upaas must
|
||||
# know the host path of its data directory.
|
||||
UPAAS_HOST_DATA_DIR: ${HOST_DATA_DIR:?set HOST_DATA_DIR in .env to an absolute host path}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ${HOST_DATA_DIR:?set HOST_DATA_DIR in .env to an absolute host path}:/var/lib/upaas
|
||||
# Loopback only, for a TLS-terminating reverse proxy in front. Leave
|
||||
# UPAAS_PLAINTEXT_HTTP unset behind that proxy.
|
||||
ports:
|
||||
- "127.0.0.1:8080:8080"
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
Reference in New Issue
Block a user