services: app: image: ${FOODSTER_REPO:?set FOODSTER_REPO in .env}:${FOODSTER_TAG:-latest} restart: unless-stopped # A bind mount rather than a named volume: the database sits in ./data on # the host, where it can be listed, copied and backed up without going # through the container engine. The image runs as UID 65534, so the # container has to be told which host user owns that directory. user: "${FOODSTER_UID:-1000}:${FOODSTER_GID:-1000}" ports: - "${FOODSTER_PORT:-8080}:8080" environment: FOODSTER_PASSWORD: ${FOODSTER_PASSWORD:?set FOODSTER_PASSWORD in .env} FOODSTER_DB: /data/foodster.db TZ: ${TZ:-Europe/Helsinki} volumes: - ./data:/data