--- # Rootless Podman and Quadlet on emily. The play runs as the connecting user, # so these paths follow that user's home. podman_user: "{{ ansible_facts['user_id'] }}" podman_data_dir: "{{ ansible_facts['user_dir'] }}/podman-data" quadlet_dir: "{{ ansible_facts['user_dir'] }}/.config/containers/systemd" registry: registry.tanshu.com registry_username: ta-registry registry_password: ff28a01f00c0f39315d94cd9dcb1e554968dba25676a8ea5f2be34e96a9a099f image_name: "{{ registry }}/hops" # deploy.sh passes image_tag=. Rollback uses an older commit. tag: main image: "{{ image_name }}:{{ image_tag | default(tag) }}" app_name: hops container_name: "{{ app_name }}" unit_name: "{{ container_name }}.service" # The register role pins NetworkName to hops_net. network_name: "{{ app_name }}" host_directory: "{{ podman_data_dir }}/{{ container_name }}" # Caddy reaches both ports over hops_net. Nothing is published on the host. site_port: 3000 pb_port: 8090 # podman builds OCI images by default and drops the Dockerfile HEALTHCHECK, # so the unit declares the check and the play gates on it. health_cmd: "curl -fsS http://127.0.0.1:{{ pb_port }}/api/health > /dev/null && curl -fsS http://127.0.0.1:{{ site_port }} > /dev/null" host: www.hopsngrains.com apex_host: hopsngrains.com admin_host: admin.hopsngrains.com caddy_name: caddy caddyfile_path: "{{ podman_data_dir }}/{{ caddy_name }}/conf/Caddyfile" # Appended to the shared Caddyfile by roles/caddy. snippet_block: | {{ host }}{% if apex_host is defined and apex_host %}, {{ apex_host }}{% endif %} { # PocketBase admin UI and REST API redir /_ /_/ handle /_/* { reverse_proxy {{ container_name }}:{{ pb_port }} } handle /api/* { reverse_proxy {{ container_name }}:{{ pb_port }} } # TanStack Start frontend handle { reverse_proxy {{ container_name }}:{{ site_port }} } } {% if admin_host is defined and admin_host %} {{ admin_host }} { redir / /_/ reverse_proxy {{ container_name }}:{{ pb_port }} } {% endif %} # Bootstrapped on first start. pb_admin_email: admin@hopsngrains.com pb_admin_password: HopsPassword1234!