docker/docker-compose.infra.yml
Rama main · réplica de lectura del repositorio original.
volumes:
postgres_data:
minio_data:
services:
minio:
image: coollabsio/minio:latest
restart: always
ports:
- '9000:9000'
- '9001:9001' # for minio console
volumes:
- minio_data:/data
- ./init-minio.sh:/init-minio.sh
entrypoint: '/init-minio.sh'
environment:
- MINIO_ROOT_USER=${MINIO_ROOT_USER}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
- MINIO_DEFAULT_BUCKETS=${MINIO_DEFAULT_BUCKETS}
- MINIO_BROWSER=${MINIO_BROWSER:-off}
- MINIO_EXPIRATION_DAYS=${MINIO_EXPIRATION_DAYS:-1}
db-dev:
image: pgvector/pgvector:pg18
restart: always
environment:
POSTGRES_PASSWORD: password
ports:
- '5432:5432'
volumes:
- postgres_data:/var/lib/postgresql
ssh-server:
image: linuxserver/openssh-server:latest
restart: always
depends_on:
- db-dev
environment:
- PUID=1000
- PGID=1000
- TZ=UTC
- PUBLIC_KEY=${DEV_SSH_PUBLIC_KEY:-}
- USER_NAME=sshuser
- SUDO_ACCESS=true
- PASSWORD_ACCESS=false
- LOG_STDOUT=true
ports:
- '2222:2222'
volumes:
- ./dev-configs/sshd_config:/config/sshd/sshd_config
headless-browser:
build:
dockerfile: Dockerfile.headless-browser
restart: always
environment:
# browserless v2 default session budget is 30s — too short for
# dev-Vite page loads and the app capture ready-wait (60s).
- TIMEOUT=180000
ports:
- '3001:3000'
prometheus:
image: prom/prometheus:latest
restart: always
ports:
- '9091:9090'
volumes:
- ./dev-configs/prometheus.dev.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
mailpit:
image: axllent/mailpit:latest
restart: unless-stopped
ports:
- '8025:8025'
- '1025:1025'
environment:
MP_MAX_MESSAGES: 5000
MP_SMTP_AUTH_ACCEPT_ANY: 1
MP_SMTP_AUTH_ALLOW_INSECURE: 1
nats:
image: nats:2.11-alpine
command: ['-js']
ports:
- '4222:4222'
- '8222:8222'