Files
atproto-pds-ansible/templates/pds-operator-compose.yaml.j2
2026-09-20 18:40:01 -04:00

32 lines
989 B
Django/Jinja

name: pds-operator
# Admin dashboard for the PDS — deployed by Ansible to
# {{ pds_data_dir }}/operator/compose.yaml
services:
app:
build: .
env_file: .env
environment:
- HOST=0.0.0.0 # required for reverse proxy to reach
- DB_PATH=/data/data.sqlite
- AUDIT_LOG_PATH=/data/audit.log
ports:
- "127.0.0.1:8787:8787"
# the host's /etc/hosts maps the PDS hostname to 127.0.1.1 (cloud-init
# manage_etc_hosts), which Docker propagates to container DNS — pin the
# real address so the operator can reach the PDS
extra_hosts:
- "{{ pds_hostname }}:{{ hostvars[inventory_hostname].ansible_default_ipv4.address }}"
volumes:
# bind mount keeps data under /pds — captured by the backup tarball
- ./data:/data
# runs unprivileged; ./data must be owned by uid 1000 (node)
user: node
read_only: true
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
restart: unless-stopped