{"owner":"suitenumerique","repo":"docs","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"compose.yml","servicesCount":19,"services":[{"name":"postgresql","image":"postgres:16","ports":["15432:5432"],"volumes":["./docker/files/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d:ro"]},{"name":"redis","image":"redis:5"},{"name":"mailcatcher","image":"sj26/mailcatcher:latest","ports":["1081:1080"]},{"name":"minio","image":"pgsty/silo","command":"server --console-address :9001 /data","ports":["9000:9000","9001:9001"],"environment":["MINIO_ROOT_USER=impress","MINIO_ROOT_PASSWORD=password"],"volumes":["./data/media:/data"]},{"name":"createbuckets","image":"pgsty/mc","depends_on":["minio"]},{"name":"app-dev","image":"impress:backend-development","build":{"context":"."},"ports":["8071:8000"],"environment":["PYLINTHOME=/app/.pylint.d","DJANGO_CONFIGURATION=Development"],"volumes":["./src/backend:/app","./data/static:/data/static","./data/jwt:/data/jwt:ro","/app/.venv"],"depends_on":["postgresql","mailcatcher","redis","createbuckets"]},{"name":"celery-dev","image":"impress:backend-development","command":"celery -A impress.celery_app worker -l DEBUG","environment":["DJANGO_CONFIGURATION=Development"],"volumes":["./src/backend:/app","./data/static:/data/static","./data/jwt:/data/jwt:ro","/app/.venv"],"depends_on":["app-dev"]},{"name":"nginx","image":"nginx:1.25","ports":["8083:8083"],"volumes":["./docker/files/etc/nginx/conf.d:/etc/nginx/conf.d:ro"],"depends_on":["app-dev","keycloak"]},{"name":"nginx-frontend","image":"nginx:1.25","ports":["3000:3000"],"volumes":["./src/frontend/apps/impress/conf/default.conf:/etc/nginx/conf.d/impress.conf","./src/frontend/apps/impress/out:/app"],"depends_on":["keycloak"]},{"name":"frontend-development","image":"impress:frontend-development","build":{"context":".","dockerfile":"./src/frontend/Dockerfile"},"ports":["3000:3000"],"volumes":["./src/frontend:/home/frontend","/home/frontend/node_modules","/home/frontend/apps/impress/node_modules"]},{"name":"crowdin","image":"crowdin/cli:3.16.0","volumes":[".:/app"]},{"name":"node","image":"node:22","environment":["HOME=/tmp"],"volumes":[".:/app"]},{"name":"y-provider-development-converter","image":"impress:y-provider-development","build":{"context":".","dockerfile":"./src/frontend/servers/y-provider/Dockerfile"},"restart":"unless-stopped","volumes":["./src/frontend/:/home/frontend","/home/frontend/node_modules","/home/frontend/servers/y-provider/node_modules"]},{"name":"yhub-valkey","image":"valkey/valkey:alpine","command":"valkey-server --maxmemory-policy volatile-lru --appendonly yes --appendfsync everysec","volumes":["yhub-valkey-data:/data"]},{"name":"yhub-postgres","image":"postgres:16-alpine","volumes":["yhub-pgdata:/var/lib/postgresql/data"]},{"name":"yhub","image":"impress:yhub-development","build":{"context":".","dockerfile":"./src/yhub-server/Dockerfile"},"restart":"unless-stopped","ports":["3002:3002"],"environment":["HOME=/tmp"],"volumes":["./data/jwt:/data/jwt:ro","./src/yhub-server:/app","/app/node_modules"],"depends_on":["yhub-valkey","yhub-postgres","createbuckets","minio"]},{"name":"kc_postgresql","image":"postgres:14.3","ports":["5433:5432"]},{"name":"keycloak","image":"quay.io/keycloak/keycloak:26.3","command":"start-dev --features=preview --import-realm --hostname-strict=false --health-enabled=true --metrics-enabled=true","ports":["8080:8080"],"volumes":["./docker/auth/realm.json:/opt/keycloak/data/import/realm.json"],"depends_on":["kc_postgresql"]},{"name":"docspec","image":"ghcr.io/docspec/api:1.21.4","ports":["4000:3000"]}],"exposedPorts":["15432","1081","9000","9001","8071","8083","3000","3002","5433","8080","4000"],"dockerRunCommand":"docker run -d --name docs -p 15432:15432 --restart always ghcr.io/docspec/api:1.21.4","podmanRunCommand":"podman run -d --name docs -p 15432:15432 --restart always ghcr.io/docspec/api:1.21.4","skopeoInspectCommand":"skopeo inspect docker://ghcr.io/docspec/api:1.21.4","orasPullCommand":"oras pull ghcr.io/docspec/api:1.21.4","registryMeta":{"provider":"ghcr","image":"ghcr.io/docspec/api","canonicalImage":"ghcr.io/docspec/api:1.21.4","latestTag":"sha256-7ace71bc7154b2c79f2ebb07883e494da4fc3abed88634ce66b021110c84d682.sig","multiArch":["linux/amd64","linux/arm64"],"lastUpdated":"2026-10-23T01:03:39.217Z","cliCommands":{"dockerRun":"docker run -d --name docs -p 15432:15432 --restart always ghcr.io/docspec/api:1.21.4","dockerPull":"docker pull ghcr.io/docspec/api:1.21.4","podmanRun":"podman run -d --name docs -p 15432:15432 --restart always ghcr.io/docspec/api:1.21.4","skopeoInspect":"skopeo inspect docker://ghcr.io/docspec/api:1.21.4","orasPull":"oras pull ghcr.io/docspec/api:1.21.4","composeYaml":"services:\n  docs:\n    image: ghcr.io/docspec/api:1.21.4\n    restart: unless-stopped\n    ports:\n      - \"15432:15432\""}}}