name: "minikura-devcontainer" services: devcontainer: tty: true privileged: true cgroup: host build: context: . dockerfile: Dockerfile args: HOST_UID: ${HOST_UID:-1000} HOST_GID: ${HOST_GID:-1000} tmpfs: - /var/lib/docker:mode=0777,dev,size=15g,suid,exec - /var/lib/rancher:mode=0777,dev,size=15g,suid,exec - /run ports: - "3000:3000" # backend API - "3001:3001" # web frontend - "6443:6443" # k3s API - "25565:25565" # minecraft - "25577:25577" # velocity - "30000-32767:30000-32767" # NodePort range volumes: - "../:/workspace" - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - vscode-server:/home/dev/.vscode-server working_dir: "/workspace" depends_on: db: condition: service_healthy minio-init: condition: service_completed_successfully environment: - KUBECONFIG=/home/dev/.kube/config - DATABASE_URL=postgresql://postgres:postgres@db:5432/minikura?sslmode=disable - WEB_URL=http://localhost:3001 - API_URL=http://localhost:3000 - KUBERNETES_NAMESPACE=minikura - PLUGIN_REGISTRY_USER_AGENT=Minikura/1.0 (devcontainer) - S3_ENDPOINT=http://minio:9000 - S3_REGION=us-east-1 - S3_BUCKET=minikura-plugins - S3_ACCESS_KEY_ID=minikura - S3_SECRET_ACCESS_KEY=minikura-development - S3_FORCE_PATH_STYLE=true db: image: postgres:17 restart: unless-stopped environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: minikura volumes: - postgres-data:/var/lib/postgresql/data ports: - "5433:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 minio: image: minio/minio:RELEASE.2025-07-23T15-54-02Z restart: unless-stopped command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minikura MINIO_ROOT_PASSWORD: minikura-development volumes: - minio-data:/data ports: - "9002:9000" - "9003:9001" healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 5s retries: 10 minio-init: image: minio/mc:RELEASE.2025-07-21T05-28-08Z depends_on: minio: condition: service_healthy entrypoint: ["/bin/sh", "-c"] command: - >- mc alias set local http://minio:9000 minikura minikura-development && mc mb --ignore-existing local/minikura-plugins volumes: postgres-data: minio-data: vscode-server: