Tots els compose
This commit is contained in:
64
postgres/docker-compose.yml
Normal file
64
postgres/docker-compose.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
# /opt/stacks/postgres/docker-compose.yml
|
||||
|
||||
services:
|
||||
|
||||
# ── Servei PostgreSQL ────────────────────
|
||||
postgres:
|
||||
container_name: postgres
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: Europe/Madrid
|
||||
POSTGRES_USER: '${POSTGRES_USER}'
|
||||
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
|
||||
POSTGRES_DB: '${POSTGRES_DB}'
|
||||
# UTF8 sense locale específic → compatible amb Alpine
|
||||
POSTGRES_INITDB_ARGS: '--encoding=UTF8 --locale=en_US.utf8'
|
||||
ports:
|
||||
- "5432:5432" # Accés local per DBeaver, psql, etc.
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
- postgres_init:/docker-entrypoint-initdb.d # Scripts SQL d'inicialització
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
|
||||
interval: 10s
|
||||
timeout: 5s # Afegit
|
||||
retries: 5
|
||||
start_period: 30s # Afegit: marge per a scripts d'init
|
||||
networks:
|
||||
- pg_net
|
||||
|
||||
# ── pgAdmin: UI web per gestionar Postgres ──
|
||||
pgadmin:
|
||||
container_name: pgadmin
|
||||
image: dpage/pgadmin4:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "5050:80" # UI web (només local → via Nginx)
|
||||
environment:
|
||||
TZ: Europe/Madrid
|
||||
PGADMIN_DEFAULT_EMAIL: '${PGADMIN_EMAIL}'
|
||||
PGADMIN_DEFAULT_PASSWORD: '${PGADMIN_PASSWORD}'
|
||||
PGADMIN_DISABLE_POSTFIX: 'true' # Evita errors de Postfix als logs
|
||||
PGADMIN_CONFIG_SERVER_MODE: 'False' # Mode personal (un sol usuari)
|
||||
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False' # Simplifica l'accés local
|
||||
volumes:
|
||||
- pgadmin_data:/var/lib/pgadmin # Persisteix servidors i preferències
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- pg_net
|
||||
- shared_net
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
postgres_init: # Posa els teus scripts .sql aquí
|
||||
pgadmin_data: # Configuració de pgAdmin persistent
|
||||
|
||||
networks:
|
||||
pg_net:
|
||||
driver: bridge
|
||||
shared_net:
|
||||
external: true
|
||||
name: shared_net
|
||||
Reference in New Issue
Block a user