# Self Hosted Galaxy Server Deployment

**URL:** <https://forum.ansible.com/t/self-hosted-galaxy-server-deployment/45359>\
**Category:** Get Help\
**Tags:** galaxy-ng\
**Created:** [February 18, 2026, 2:03am UTC](https://forum.ansible.com/t/self-hosted-galaxy-server-deployment/45359 "2026-02-18T02:03:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![AndrewDi](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andrewdi/32/8090_2.png) [@AndrewDi](https://forum.ansible.com/u/AndrewDi)\
**Post date:** [February 18, 2026, 2:03am UTC](https://forum.ansible.com/t/self-hosted-galaxy-server-deployment/45359/1 "2026-02-18T02:03:13Z")

</div>

* * *

Native Docker Compose configuration based on [galaxy-operator](https://github.com/ansible/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](http://quay.io):

```yaml
# 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

```bash
# 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

```bash
# Create network and volumes
docker compose up -d

# View logs
docker compose logs -f

```

### 3. Access Services

- **Web UI** : [http://localhost:8080](http://localhost:8080)
- **API** : [http://localhost:8000/api/galaxy/](http://localhost:8000/api/galaxy/)
- **Pulp API** : [http://localhost:8000/pulp/api/v3/](http://localhost:8000/pulp/api/v3/)
- **Content** : [http://localhost:24816/pulp/content/](http://localhost:24816/pulp/content/)

Default admin account:

- Username: `admin`
- Password: `admin`

### 4. Stop Services

```bash
docker compose down

# Keep data
docker compose down -v

# Full cleanup (including volumes)
docker compose down -v --remove-orphans

```

---

<div class="post-metadata">

**Author:** ![Tualua](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/tualua/32/10377_2.png) [@Tualua](https://forum.ansible.com/u/Tualua)\
**Post date:** [February 20, 2026, 7:00am UTC](https://forum.ansible.com/t/self-hosted-galaxy-server-deployment/45359/2 "2026-02-20T07:00:53Z")

</div>

Hello! Thank you very much! Could you please share links to compose and env files?

---

<div class="post-metadata">

**Author:** ![AndrewDi](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andrewdi/32/8090_2.png) [@AndrewDi](https://forum.ansible.com/u/AndrewDi)\
**Post date:** [February 23, 2026, 3:04am UTC](https://forum.ansible.com/t/self-hosted-galaxy-server-deployment/45359/3 "2026-02-23T03:04:50Z")

</div>

> **[GitHub - AndrewDi/ansible-galaxy-compose: Native Docker Compose configuration based on...](https://github.com/AndrewDi/ansible-galaxy-compose)**
>
> Native Docker Compose configuration based on galaxy-operator.

---

<div class="post-metadata">

**Author:** ![AndrewDi](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/andrewdi/32/8090_2.png) [@AndrewDi](https://forum.ansible.com/u/AndrewDi)\
**Post date:** [February 23, 2026, 3:05am UTC](https://forum.ansible.com/t/self-hosted-galaxy-server-deployment/45359/4 "2026-02-23T03:05:18Z")

</div>

forget to paste links
