services: steady: build: /home/patsy/apps/steady container_name: steady restart: unless-stopped environment: STEADY_ENV: production SECRET_KEY: ${SECRET_KEY:?Set SECRET_KEY in the VPS .env file} DATABASE_URL: sqlite:////app/instance/steady.db TRUSTED_HOSTS: ${TRUSTED_HOSTS:-steady.bujour.de},127.0.0.1 TRUST_PROXY_HEADERS: "true" GUNICORN_BIND: 0.0.0.0:5000 volumes: - steady_data:/app/instance networks: - proxy expose: - "5000" command: - /bin/sh - -c - flask --app app db upgrade && exec gunicorn --config gunicorn.conf.py wsgi:app healthcheck: test: - CMD - python - -c - "import urllib.request; urllib.request.urlopen('http://127.0.0.1:5000/health', timeout=3)" interval: 30s timeout: 5s retries: 3 start_period: 15s volumes: steady_data: networks: proxy: external: true