Self Hosted Galaxy Server Deployment


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

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
1 Like