--- # Derived from the connection user; requires gather_facts. podman_user: "{{ ansible_facts['user_id'] }}" podman_data_dir: "{{ ansible_facts['user_dir'] }}/podman-data" quadlet_dir: "{{ ansible_facts['user_dir'] }}/.config/containers/systemd" # The service keeps its Docker-era name hiwikijs everywhere; only the directory is wikijs. host: wiki.hinchco.in container_name: hiwikijs unit_name: "{{ container_name }}.service" # Fully qualified so rootless Podman never prompts for a short name; there is no TTY. image: ghcr.io/requarks/wiki:latest # The Quadlet file is .network; register pins _net. network_name: "{{ container_name }}" host_directory: "{{ podman_data_dir }}/{{ container_name }}" # The image runs as uid 1000, and keep-id maps it onto podman_user. # Unlike bitwarden and tandoor, Wiki.js runs unprivileged. wikijs_uid: 1000 wikijs_gid: 1000 # The image declares this as a volume; bind it to a real path so backups can find it. content_dir: "{{ host_directory }}/content" # Not a declared volume, but a local storage target would write here. uploads_dir: "{{ host_directory }}/uploads" # The unit is world-readable, so the password goes in this 0600 file. env_file: "{{ host_directory }}/{{ container_name }}.env" # The image's config.yml sets port 3000. container_port: 3000 postgres_container: postgres postgres_unit: "{{ postgres_container }}.service" # Kept as-is so the restored database and the app's connection string agree. pg_user: postgres pg_password: '123456' pg_database: hiwikijs # The image expects the db alias; postgres/roles/attach writes the NetworkAlias=db drop-in. db_host: db caddy_name: caddy caddyfile_path: "{{ podman_data_dir }}/{{ caddy_name }}/conf/Caddyfile" snippet_block: | {{ host }} { reverse_proxy {{ container_name }}:{{ container_port }} }