Tots els compose

This commit is contained in:
Guillem Hernandez Sola
2026-06-30 13:12:37 +02:00
parent bebb2969f8
commit f1fe15d1b5
35 changed files with 2075 additions and 0 deletions

View 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