version: '3.7' services: app_proxy: environment: APP_HOST: domain-locker_app_1 APP_PORT: 3000 app: image: lissy93/domain-locker:0.1.4@sha256:c49d00d31d0bc948c01c046ce283a11af4bdc0742643ee1ab21675ce7f80da69 user: "1000:1000" restart: on-failure environment: DL_ENV_TYPE: selfHosted DL_PG_HOST: domain-locker_postgres_1 DL_PG_PORT: 5432 DL_PG_USER: postgres DL_PG_PASSWORD: domain-locker DL_PG_NAME: domain_locker depends_on: - postgres healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s postgres: image: postgres:17.4@sha256:fe3f571d128e8efadcd8b2fde0e2b73ebab6dbec33f6bfe69d98c682c7d8f7bd user: "1000:1000" restart: on-failure environment: POSTGRES_DB: domain_locker POSTGRES_USER: postgres POSTGRES_PASSWORD: domain-locker volumes: - ${APP_DATA_DIR}/data/db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5