{"owner":"cft0808","repo":"edict","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"edict/docker-compose.yml","servicesCount":6,"services":[{"name":"postgres","image":"postgres:16-alpine","restart":"unless-stopped","ports":["5432:5432"],"environment":["POSTGRES_DB=edict","POSTGRES_USER=edict","POSTGRES_PASSWORD=edict_dev_2024"],"volumes":["pg_data:/var/lib/postgresql/data"]},{"name":"redis","image":"redis:7-alpine","restart":"unless-stopped","command":"redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru","ports":["6379:6379"],"volumes":["redis_data:/data"]},{"name":"backend","build":{"context":"..","dockerfile":"edict/Dockerfile"},"restart":"unless-stopped","command":"sh -c \"\n  python -m alembic upgrade head &&\n  uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload\n\"\n","ports":["8000:8000"],"environment":["DATABASE_URL=postgresql+asyncpg://edict:edict_dev_2024@postgres:5432/edict","REDIS_URL=redis://redis:6379/0","PORT=8000","DEBUG=true"],"volumes":["../agents:/app/agents:ro","../data:/app/data"],"depends_on":["postgres","redis"]},{"name":"orchestrator","build":{"context":"..","dockerfile":"edict/Dockerfile"},"restart":"unless-stopped","command":"python -m app.workers.orchestrator_worker","environment":["DATABASE_URL=postgresql+asyncpg://edict:edict_dev_2024@postgres:5432/edict","REDIS_URL=redis://redis:6379/0"],"depends_on":["postgres","redis"]},{"name":"dispatcher","build":{"context":"..","dockerfile":"edict/Dockerfile"},"restart":"unless-stopped","command":"python -m app.workers.dispatch_worker","environment":["DATABASE_URL=postgresql+asyncpg://edict:edict_dev_2024@postgres:5432/edict","REDIS_URL=redis://redis:6379/0","OPENCLAW_PROJECT_DIR=/app"],"volumes":["../agents:/app/agents:ro","../scripts:/app/scripts","../data:/app/data"],"depends_on":["postgres","redis"]},{"name":"frontend","build":{"context":"./frontend","dockerfile":"Dockerfile"},"restart":"unless-stopped","ports":["3000:3000"],"environment":["VITE_API_URL=http://localhost:8000","VITE_WS_URL=ws://localhost:8000/ws"],"depends_on":["backend"]}],"exposedPorts":["5432","6379","8000","3000"],"dockerRunCommand":"docker run -d --name edict -p 5432:5432 --restart always postgres:16-alpine","podmanRunCommand":"podman run -d --name edict -p 5432:5432 --restart always postgres:16-alpine","skopeoInspectCommand":"skopeo inspect docker://docker.io/library/postgres:16-alpine","orasPullCommand":"oras pull postgres:16-alpine","registryMeta":{"provider":"dockerhub","image":"library/postgres","canonicalImage":"docker.io/library/postgres:16-alpine","latestTag":"16-alpine","cliCommands":{"dockerRun":"docker run -d --name edict -p 5432:5432 --restart always postgres:16-alpine","dockerPull":"docker pull postgres:16-alpine","podmanRun":"podman run -d --name edict -p 5432:5432 --restart always postgres:16-alpine","skopeoInspect":"skopeo inspect docker://docker.io/library/postgres:16-alpine","orasPull":"oras pull postgres:16-alpine","composeYaml":"services:\n  edict:\n    image: postgres:16-alpine\n    restart: unless-stopped\n    ports:\n      - \"5432:5432\""}}}