Ctrl K
ComunidadGuías…

docker-compose.yml

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

Archivo original ↗Preguntar a KiBot
services:
  postgres:
    image: postgres:18-alpine
    environment:
      POSTGRES_USER: cloudzilla
      POSTGRES_PASSWORD: cloudzilla
      POSTGRES_DB: cloudzilla
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U cloudzilla"]
      interval: 5s
      timeout: 5s
      retries: 5

  cloudzilla:
    build: .
    image: cloudzilla-app:latest
    ports:
      - "8080:8080"
      - "2222:2222"
    volumes:
      - cloudzilla_data:/data
    environment:
      CZ_DATABASE_DRIVER: postgres
      CZ_DATABASE_DSN: postgres://cloudzilla:cloudzilla@postgres:5432/cloudzilla?sslmode=disable
      CZ_GIT_REPOS_ROOT: /data/git-repos
      CZ_GIT_SSH_HOST_KEY: /data/cloudzilla_host_key
      CZ_STORAGE_LOCAL_ROOT: /data/storage
      CZ_AUTH_JWT_SECRET: change-me-in-production
      CZ_AUTH_JWT_EXPIRY: 24h
      CZ_SERVER_PORT: 8080
      CZ_GIT_SSH_PORT: 2222
    depends_on:
      postgres:
        condition: service_healthy
    restart: unless-stopped

  # Local S3 endpoint for storage.backend: s3, started with --profile s3.
  # Point the app at it with CZ_STORAGE_BACKEND=s3 CZ_STORAGE_S3_ENDPOINT=http://localhost:7070
  # CZ_STORAGE_S3_BUCKET=cloudzilla CZ_STORAGE_S3_PATH_STYLE=true and the keys below.
  versitygw:
    image: versity/versitygw:latest
    profiles: ["s3"]
    # The posix backend serves each top-level directory as a bucket.
    entrypoint:
      ["/bin/sh", "-c", "mkdir -p /data/cloudzilla && exec versitygw --port :7070 posix /data"]
    environment:
      ROOT_ACCESS_KEY: cloudzilla-dev
      ROOT_SECRET_KEY: cloudzilla-dev-secret
    ports:
      - "7070:7070"
    volumes:
      - versitygw_data:/data
    restart: unless-stopped

volumes:
  postgres_data:
  cloudzilla_data:
  versitygw_data: