compose.yaml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ---
  2. name: "PostgreSQL"
  3. description: "An open-source relational database management system"
  4. version: "0.0.1"
  5. date: "2023-10-01"
  6. author: "Christian Lempa"
  7. tags:
  8. - postgres
  9. - database
  10. - sql
  11. ---
  12. services:
  13. postgres:
  14. image: docker.io/library/postgres:17.6
  15. container_name: postgres
  16. environment:
  17. - POSTGRES_INITDB_ARGS=${POSTGRES_INITDB_ARGS---data-checksums}
  18. - POSTGRES_HOST_AUTH_METHOD=${POSTGRES_HOST_AUTH_METHOD-}
  19. - POSTGRES_USER=${POSTGRES_USER:-postgres}
  20. - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
  21. - POSTGRES_DB=${POSTGRES_DB:-$POSTGRES_USER}
  22. - TZ=${TZ:-UTC}
  23. ports:
  24. - 5432:5432
  25. healthcheck:
  26. test: ['CMD-SHELL', 'pg_isready -U "${POSTGRES_USER:-postgres}"']
  27. start_period: 30s
  28. interval: 10s
  29. timeout: 10s
  30. retries: 5
  31. # (Optional) When using custom network, see also
  32. # https://docs.docker.com/compose/compose-file/compose-file-v3/#networks
  33. #
  34. # networks:
  35. # - yournetwork
  36. secrets:
  37. - postgres_password
  38. volumes:
  39. - postgres_data:/var/lib/postgresql/data
  40. restart: unless-stopped
  41. # (Optional) When using custom network, see also
  42. # https://docs.docker.com/compose/compose-file/compose-file-v3/#network-configuration-reference
  43. #
  44. # networks:
  45. # yournetwork:
  46. # external: true
  47. secrets:
  48. postgres_password:
  49. file: secret.postgres_password.txt
  50. volumes:
  51. postgres_data:
  52. driver: local