- Create standardized group_vars directory structure - Add domains.yml with centralized subdomain mappings - Add infrastructure.yml with network, SMTP, and path config - Reorganize vault.yml secrets by service with consistent naming - Update 15+ Docker compose templates to use new variable structure - Simplify playbook commands by removing --extra-vars requirement - Replace hardcoded domains/IPs with template variables - Standardize secret references across all services 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
60 lines
1.7 KiB
Django/Jinja
60 lines
1.7 KiB
Django/Jinja
version: "3"
|
|
services:
|
|
server:
|
|
image: gitea/gitea:1
|
|
container_name: gitea
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
- GITEA__mailer__ENABLED=true
|
|
- GITEA__mailer__FROM=git@{{ email_domains.updates }}
|
|
- GITEA__mailer__PROTOCOL=smtps
|
|
- GITEA__mailer__SMTP_ADDR={{ smtp.host }}
|
|
- GITEA__mailer__SMTP_PORT=465
|
|
- GITEA__mailer__USER={{ smtp.username }}
|
|
- GITEA__mailer__PASSWD={{ vault_smtp.password }}
|
|
restart: unless-stopped
|
|
labels:
|
|
glance.name: Gitea
|
|
glance.icon: si:gitea
|
|
glance.url: https://{{ subdomains.git }}/
|
|
glance.description: Code repo
|
|
glance.id: gitea
|
|
volumes:
|
|
- gitea:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- 222:22
|
|
extra_hosts:
|
|
- '{{ subdomains.auth }}:{{ docker.hairpin_ip }}'
|
|
- '{{ subdomains.git }}:{{ docker.hairpin_ip }}'
|
|
runner:
|
|
image: gitea/act_runner:nightly
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- server
|
|
environment:
|
|
- CONFIG_FILE=/config.yaml
|
|
- GITEA_INSTANCE_URL=http://gitea:3000
|
|
- GITEA_RUNNER_REGISTRATION_TOKEN={{ vault_infrastructure.gitea_runner_key }}
|
|
- GITEA_RUNNER_NAME=runner_1
|
|
- GITEA_RUNNER_LABELS=docker
|
|
extra_hosts:
|
|
- '{{ subdomains.auth }}:{{ docker.hairpin_ip }}'
|
|
- '{{ subdomains.git }}:{{ docker.hairpin_ip }}'
|
|
labels:
|
|
glance.parent: gitea
|
|
glance.name: Worker
|
|
volumes:
|
|
- ./runner-config.yaml:/config.yaml
|
|
- ./data:/data
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- {{ paths.stacks }}/caddy/site:/sites
|
|
volumes:
|
|
gitea:
|
|
driver: local
|
|
networks:
|
|
default:
|
|
external: true
|
|
name: {{ docker.network_name }} |