Files
pet-project-server/files/diet/docker-compose.template.yml
av 8e1d5f8112 diet: заведён плейбук, периметр и бэкапы
- playbook-diet.yml и files/diet: образ через app_image, uid=gid=1111,
  каталоги config/data/cache, backup-targets со строкой data/
- блок сайта в Caddy разделён: /api/* идёт мимо Authelia под собственную
  аутентификацию, клиентские Remote-* срезаются на уровне сайта
- правило Authelia one_factor без subject: пользователи шире группы admins
2026-09-06 11:50:40 +03:00

29 lines
1005 B
YAML

# Образ собирается локально и доставляется на сервер ролью app_image
# (см. playbook-diet.yml): тег — случайный BUILD_ID каждого прогона,
# в реестре образа нет, поэтому pull_policy: never.
#
# В образе нет оболочки (distroless): зайти внутрь работающего контейнера
# нечем, разбор идёт по журналу и GET /healthz.
services:
diet_app:
image: "{{ app_name }}:{{ app_image_tag }}"
container_name: diet_app
restart: unless-stopped
pull_policy: never
user: "{{ owner_create_result.uid }}:{{ owner_create_result.group }}"
networks:
- "web_proxy_network"
volumes:
- "{{ config_dir }}:/config:ro"
- "{{ data_dir }}:/var/lib/diet"
- "{{ cache_dir }}:/var/cache/diet"
command:
- "--config"
- "/config/config.toml"
networks:
web_proxy_network:
external: true