Ctrl K
ComunidadGuías…

docker/docker-compose.infra.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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'