networks: tutorotp: volumes: postgres_data: secrets: postgres_password: file: ./postgres_password.txt services: web: build: . image: pinlin/tutorotp:latest networks: - tutorotp environment: - NODE_ENV=production - PORT=3000 - PGHOST=postgres - PGPORT=5432 - PGUSER=tutorotp - PGPASSWORD= - PGDATABASE=tutorotp - ACTIVATION_CODE= - OIDC_WELL_KNOWN_URL= - CLIENT_ID= - CLIENT_SECRET= - COOKIE_SECRET= ports: - "3000:3000" depends_on: - postgres restart: always postgres: image: postgres:16.4-alpine restart: always networks: - tutorotp volumes: - postgres_data:/var/lib/postgresql/data/ secrets: - postgres_password environment: POSTGRES_DB: tutorotp POSTGRES_USER: tutorotp POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password