homelab/build/config/ansible/inventory/host_vars/forgejo.yml
Russell Seymour 1250c9cef6
Some checks are pending
deploy / deploy (push) Waiting to run
Initial checkin of code for managing homelab
2026-08-24 20:52:36 +01:00

52 lines
2.5 KiB
YAML

---
# The Proxmox LXC created by src/forgejo/terraform (VMID 160), on
# turtle-proxmox-02. Named for the container's hostname, which is how it
# appears in the API-backed dynamic inventory.
#
# This was empty for a long time while Forgejo also ran as a Compose stack on
# nas2 — two deployments sharing one Vault path and one database means the
# second to start wins and the other quietly serves stale state. nas2 has
# since been retired, so there is no longer a second copy to collide with and
# the `apps:` list below is live.
#
# WHAT THIS DOES NOT DO: nothing here moves repository data. Ansible
# provisions the database and installs the app; a Forgejo with no
# /var/lib/forgejo/data/forgejo-repositories is a working, empty forge. If the
# nas2 repositories still exist somewhere, restore them into
# `FORGEJO_DATA_PATH` and `chown -R git:git /var/lib/forgejo/data` before
# pointing DNS at this host — the original instructions here were an rsync
# off nas2, which is no longer a machine that can be read from.
#
# Also note SSH clone URLs move from port 2222 to 22 (see FORGEJO_SSH_PORT in
# src/forgejo/ansible/proxmox/vars.yml): existing remotes need editing, and
# git.turtlesystems.uk has to resolve to this container.
# The address Terraform assigns this guest (build/config/terraform/main.tf).
# Pinned here rather than left to DNS: the API-backed dynamic inventory
# supplies no `ansible_host`, so without this Ansible SSHes to the bare
# inventory name `forgejo`, which the LAN's resolver has no record for at
# all. These addresses are hand-assigned from the 192.168.50.50-.59 band
# anyway, so restating one here duplicates nothing that was ever derived.
ansible_host: 192.168.50.52
apps:
- name: forgejo
src: forgejo
vault_path: homelab/forgejo
db:
# The shared Postgres LXC, reached over the LAN. Unlike the Unraid
# host_vars this can't be `{{ ansible_host }}` — that would be this
# container's own address, not the database's. Keep in step with
# DB_HOST in src/forgejo/ansible/proxmox/vars.yml; the authoritative
# copy of both is the `postgres_address` output in
# build/config/terraform/main.tf.
#
# Provisioning runs from the Ansible controller (`delegate_to:
# localhost` in roles/lxc_app), so this address has to be reachable
# from wherever you run the playbook, not just from this container.
provision_host: 192.168.50.54
provision_port: 5432
name: forgejo
user: forgejo
password_vault_key: DB_PASSWORD
admin_vault_path: homelab/shared/postgres