docker-compose.yaml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. ---
  2. version: "3.8"
  3. services:
  4. postgres:
  5. image: docker.io/library/postgres:16.2
  6. environment:
  7. - POSTGRES_INITDB_ARGS=${POSTGRES_INITDB_ARGS---data-checksums}
  8. - POSTGRES_HOST_AUTH_METHOD=${POSTGRES_HOST_AUTH_METHOD-}
  9. - POSTGRES_USER=${POSTGRES_USER:-postgres}
  10. - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
  11. - POSTGRES_DB=${POSTGRES_DB:-$POSTGRES_USER}
  12. - TZ=${TZ:-UTC}
  13. ports:
  14. - 5432:5432
  15. healthcheck:
  16. test: ['CMD-SHELL', 'pg_isready -U "${POSTGRES_USER:-postgres}"']
  17. start_period: 30s
  18. interval: 10s
  19. timeout: 10s
  20. retries: 5
  21. # (Optional) when using custom network, see also
  22. # https://docs.docker.com/compose/compose-file/compose-file-v3/#networks
  23. #
  24. # networks:
  25. # - yournetwork
  26. secrets:
  27. - postgres_password
  28. volumes:
  29. - postgres_data:/var/lib/postgresql/data
  30. restart: unless-stopped
  31. # (Optional) when using custom network, see also
  32. # https://docs.docker.com/compose/compose-file/compose-file-v3/#network-configuration-reference
  33. #
  34. # networks:
  35. # yournetwork:
  36. # external: true
  37. secrets:
  38. postgres_password:
  39. file: secret.postgres_password.txt
  40. volumes:
  41. postgres_data:
  42. driver: local