name: endorphin-aster-vm services: aster: image: ${ASTER_IMAGE:?set ASTER_IMAGE to the verified release image} init: true ports: - "127.0.0.1:${ASTER_PORT:-18081}:8080" environment: ASTER_LISTEN: 0.0.0.0:8080 DATABASE_URL: "postgres://aster:${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}@postgres:5432/aster?sslmode=disable" depends_on: postgres: condition: service_healthy restart: unless-stopped stop_grace_period: 20s logging: driver: json-file options: max-size: 10m max-file: "3" postgres: image: postgres:17-bookworm environment: POSTGRES_DB: aster POSTGRES_USER: aster POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD} volumes: - /var/lib/endorphin-aster-vm/postgres:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U aster -d aster"] interval: 5s timeout: 3s retries: 20 restart: unless-stopped stop_grace_period: 30s logging: driver: json-file options: max-size: 10m max-file: "3"