# 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