Native Docker Compose configuration based on galaxy-operator.
Components
This project includes the following core components:
- PostgreSQL 15 - Primary database for Galaxy data
- Redis 7 - Cache and message queue
- Galaxy API - Pulp 3 Galaxy API service
- Galaxy Content - Content service component
- Galaxy Worker - Background task worker
- Galaxy Web UI - Web user interface
Note: Nginx is not included, Galaxy services are directly exposed via ports
Image Sources
This configuration uses pre-built images from quay.io:
# Image configuration in docker-compose.yml
galaxy-api:
image: quay.io/ansible/galaxy-ng:latest
galaxy-web:
image: quay.io/ansible/galaxy-ui:latest
Quick Start
1. Environment Setup
# Copy environment variable file
cp .env.example .env
# Create certificates directory
mkdir -p certs
# Generate database encryption key (required for pulpcore)
# The key is automatically generated on first run, or you can generate it manually:
python3 -c "import os; print(os.urandom(32).hex())" > certs/database_fields.symmetric.key
chmod 600 certs/database_fields.symmetric.key
# Edit environment variables (optional)
vim .env
2. Start Services
# Create network and volumes
docker compose up -d
# View logs
docker compose logs -f
3. Access Services
- Web UI: http://localhost:8080
- API: http://localhost:8000/api/galaxy/
- Pulp API: http://localhost:8000/pulp/api/v3/
- Content: http://localhost:24816/pulp/content/
Default admin account:
- Username:
admin - Password:
admin
4. Stop Services
docker compose down
# Keep data
docker compose down -v
# Full cleanup (including volumes)
docker compose down -v --remove-orphans