This guide covers how to run the GitHub Process Manager using Docker.
Copy the .env.template to .env and update with your API keys:
cp .env.template .env
Edit .env and add:
GEMINI_API_KEY - Your Google Gemini API keyGITHUB_TOKEN - Your GitHub personal access token (optional)GITHUB_REPO_URL - Your GitHub repository URL (optional)Development Mode (with hot reload):
docker-compose up -d
Production Mode:
docker-compose -f docker-compose.prod.yml up -d
Open your browser and navigate to:
docker-compose logs -f app
docker-compose down
docker-compose up -d --build
docker-compose exec app /bin/bash
docker-compose down -v
F1 and select “Remote-Containers: Reopen in Container”The dev container includes:
Docker Compose uses named volumes to persist data:
These volumes persist even when containers are stopped or removed.
If port 5000 is already in use, edit docker-compose.yml:
ports:
- "8080:5000" # Change 8080 to any available port
If you encounter permission issues with volumes:
docker-compose exec app chown -R $(id -u):$(id -g) /app/chroma_db /app/uploads /app/generated_reports
Check logs for errors:
docker-compose logs app
Remove all containers, volumes, and images:
docker-compose down -v
docker rmi github-process-manager_app
docker-compose up -d --build
For production deployment:
docker-compose.prod.ymlFLASK_DEBUG=False in .envExample with resource limits:
services:
app:
# ... other config
deploy:
resources:
limits:
cpus: '1'
memory: 1G
reservations:
cpus: '0.5'
memory: 512M
.env fileBuild for ARM64 (e.g., Apple Silicon, Raspberry Pi):
docker buildx build --platform linux/arm64 -t github-process-manager:arm64 .
Build multi-architecture image:
docker buildx build --platform linux/amd64,linux/arm64 -t github-process-manager:latest .