Docs/docs/09-ansible-variables.md
2026-03-23 22:57:28 +05:00

942 lines
67 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 09. Ansible — переменные и окружение
## 🎯 Общие сведения
Переменные в этом репозитории разделены по уровням:
- **Глобальные** — определены в `group_vars/all.yml` и применяются ко всем хостам.
- **Рольные** — могут переопределяться внутри ролей (в `defaults/main.yml` или `vars/main.yml`), но в основном используются глобальные для единообразия.
- **Секретные** — вынесены в `vault.yml` (зашифрованы) и подставляются через переменные вида `{{ vault_* }}`.
Файл `group_vars/all.yml` структурирован по разделам, каждый из которых отвечает за определённую группу настроек. Ниже приведено подробное описание каждой переменной.
---
## 🌍 Общие настройки
| Переменная | Тип | Значение / Пример | Назначение | Используется в ролях |
|--------------------|------------|---------------------------------------|------------------------------------------------------------------------------------------------|--------------------------------------------|
| `timezone` | string | `Asia/Yekaterinburg` | Часовой пояс системы. | `base_setup` |
| `system_locale` | string | `ru_RU.UTF-8` | Локаль системы. | `base_setup` |
| `x11_display_host` | string | `192.168.1.101` | Хост для X11-проброса (используется редко). | (не используется в текущих ролях) |
| `admin_user` | string | `root` | Пользователь, от имени которого выполняются административные задачи. | `base_setup`, `proxmox_base_setup` |
| `base_packages` | list | `[curl, wget, ...]` | Список базовых пакетов, устанавливаемых на всех хостах. | `base_setup` |
| `custom_directories`| list | `[/opt/scripts, /etc/apt/keyrings]` | Каталоги, которые необходимо создать на каждом хосте. | `base_setup` |
| `ssh_public_keys` | list | список публичных ключей | SSH-ключи для доступа к хостам (добавляются в `authorized_keys`). | `base_setup` |
| `cleanup_packages` | list | `[gparted]` | Пакеты, которые нужно удалить (устаревшие или ненужные). | `system_cleanup` |
---
## 🌐 Сетевые настройки
| Переменная | Тип | Значение | Назначение |
|--------------------|------------|------------------------------|------------------------------------------------------------------------------------------------|
| `server_ips` | dict | `olimp: 192.168.1.200` и т.д.| Словарь с IP-адресами всех сервисных хостов. Используется для ссылок в других переменных. |
Эти IP используются для настройки мониторинга (списки хостов для Node Exporter, Promtail), а также для указания расположения сервисов (например, в `qbittorrent_shares` ссылки на SMB-шары).
---
## 📊 Мониторинг и логирование
### Порты
| Переменная | Значение | Назначение |
|--------------------------------|----------|-------------------------------------------------|
| `monitoring_ports.node_exporter` | 9100 | Порт Node Exporter. |
| `monitoring_ports.proxmox_exporter` | 9223 | Порт Proxmox Exporter. |
| `monitoring_ports.vmagent` | 8429 | Порт VMagent (VictoriaMetrics agent). |
| `monitoring_ports.victoriametrics` | 8428 | Порт VictoriaMetrics. |
| `monitoring_ports.loki` | 3100 | Порт Loki. |
| `monitoring_ports.promtail` | 9080 | Порт Promtail. |
### Группы серверов для мониторинга
| Переменная | Значение (пример) | Назначение |
|------------------------------------|-----------------------------------------------|-----------------------------------------------------------------|
| `monitoring_groups.node_exporter_servers` | список IP-адресов всех хостов, кроме, возможно, некоторых | Хосты, на которых запускается Node Exporter (роль `proxmox_monitoring` и др.). |
| `monitoring_groups.proxmox_servers` | `[{{ server_ips.olimp }}]` | Хосты Proxmox, для которых нужен Proxmox Exporter. |
| `monitoring_groups.promtail_servers` | список IP-адресов (все, кроме Proxmox) | Хосты, на которых запускается Promtail для сбора логов. |
### Proxmox Exporter
| Переменная | Значение | Назначение |
|-----------------------------|------------------------------|--------------------------------------------------------------------------------------|
| `pve_exporter_user` | `pve_exporter@pve` | Пользователь в Proxmox для экспорта метрик. |
| `pve_exporter_token_name` | `grafana` | Имя токена для доступа. |
| `pve_exporter_token_value` | `{{ vault_pve_exporter_token }}` | Токен (секрет) для аутентификации. Хранится в vault. |
### VictoriaMetrics и Grafana
| Переменная | Значение | Назначение |
|------------------------------------|------------------------------|----------------------------------------------------------------------------|
| `victoriametrics_retention_months` | 2 | Срок хранения метрик (месяцев). |
| `victoriametrics_version` | `v1.101.0` | Версия VictoriaMetrics. |
| `grafana_version` | `11.2.0` | Версия Grafana. |
| `grafana_admin_user` | `admin` | Имя администратора Grafana. |
| `grafana_admin_password` | `{{ vault_grafana_admin_password }}` | Пароль администратора (vault). |
| `grafana_root_url` | `https://mon.zailon.ru` | Внешний URL для доступа к Grafana. |
### Loki
| Переменariable | Значение | Назначение |
|--------------------------|----------|-----------------------------------------------|
| `loki_version` | `2.9.2` | Версия Loki. |
| `loki_retention_days` | 30 | Срок хранения логов (дней). |
### cAdvisor
| Переменная | Значение | Назначение |
|--------------------|--------------|--------------------------------------------------------|
| `cadvisor_enabled` | true | Включает развёртывание cAdvisor. |
| `cadvisor_base_dir`| `/opt/cadvisor` | Базовый каталог для данных cAdvisor. |
| `cadvisor_port` | 8080 | Порт cAdvisor. |
---
## 🚪 Сервисы Gateway (хост 192.168.1.201)
| Переменная | Значение | Назначение | Роль |
|--------------------------------------|----------------------------------|-----------------------------------------------------------------|------------|
| `npm_base_dir` | `/opt/npm` | Базовый каталог Nginx Proxy Manager. | `npm` |
| `npm_data_dir` | `/opt/npm/data` | Каталог данных NPM. | `npm` |
| `npm_letsencrypt_dir` | `/opt/npm/letsencrypt` | Каталог сертификатов Let's Encrypt. | `npm` |
| `heimdall_base_dir` | `/opt/heimdall` | Базовый каталог Heimdall. | `heimdall` |
| `heimdall_config_dir` | `/opt/heimdall/config` | Каталог конфигурации Heimdall. | `heimdall` |
| `heimdall_port` | `45131` | Порт Heimdall (проброшен на хост). | `heimdall` |
| `dashy_base_dir` | `/opt/dashy` | Базовый каталог Dashy (архивная роль, не используется). | `arhive_roles/dashy` |
| `dashy_config_dir` | `/opt/dashy/config` | Конфигурация Dashy. | `arhive_roles/dashy` |
| `dashy_port` | `45132` | Порт Dashy. | `arhive_roles/dashy` |
| `dashy_domain` | `start.zailon.ru` | Домен для Dashy. | `arhive_roles/dashy` |
---
## 💾 Сервисы Data (хост 192.168.1.202)
### Bitwarden (Vaultwarden)
| Переменная | Значение | Назначение | Роль |
|------------------------------------|---------------------------------|--------------------------------------------------------|--------------|
| `bitwarden_base_dir` | `/mnt/bitwarden` | Базовый каталог. | `bitwarden` |
| `bitwarden_data_dir` | `/mnt/bitwarden/vw-data` | Каталог данных. | `bitwarden` |
| `bitwarden_port` | `45131` | Порт веб-интерфейса. | `bitwarden` |
| `bitwarden_admin_token` | `{{ vault_bitwarden_admin_token }}` | Токен для админ-панели (vault). | `bitwarden` |
| `bitwarden_websocket_enabled` | true | Включить WebSocket для уведомлений. | `bitwarden` |
| `bitwarden_signups_allowed` | false | Разрешить регистрацию новых пользователей. | `bitwarden` |
| `bitwarden_smtp_host` | `smtp.mail.ru` | SMTP-сервер для отправки писем. | `bitwarden` |
| `bitwarden_smtp_port` | `465` | Порт SMTP. | `bitwarden` |
| `bitwarden_smtp_ssl` | true | Использовать SSL/TLS для SMTP. | `bitwarden` |
| `bitwarden_smtp_username` | `zailon@bk.ru` | Логин для SMTP. | `bitwarden` |
| `bitwarden_smtp_password` | `{{ vault_bitwarden_smtp_password }}` | Пароль для SMTP (vault). | `bitwarden` |
| `bitwarden_smtp_from` | `zailon@bk.ru` | Адрес отправителя. | `bitwarden` |
| `bitwarden_domain` | `https://bw.zailon.ru` | Внешний домен Bitwarden. | `bitwarden` |
### Mealie
| Переменная | Значение | Назначение | Роль |
|------------------------------------|---------------------------------|--------------------------------------------------------|----------|
| `mealie_base_dir` | `/mnt/mealie` | Базовый каталог. | `mealie` |
| `mealie_data_dir` | `/mnt/mealie/data` | Каталог данных. | `mealie` |
| `mealie_port` | `45132` | Порт. | `mealie` |
| `mealie_db_type` | `sqlite` | Тип базы данных (sqlite/postgresql). | `mealie` |
| `mealie_db_password` | `{{ vault_mealie_db_password }}` | Пароль для базы данных (если используется postgres). | `mealie` |
### Bookstack
| Переменная | Значение | Назначение | Роль |
|------------------------------------|---------------------------------|--------------------------------------------------------|-------------|
| `bookstack_base_dir` | `/mnt/bookstack` | Базовый каталог. | `bookstack` |
| `bookstack_config_dir` | `/mnt/bookstack/config` | Конфигурация. | `bookstack` |
| `bookstack_uploads_dir` | `/mnt/bookstack/uploads` | Загруженные файлы. | `bookstack` |
| `bookstack_db_dir` | `/mnt/bookstack/db` | Каталог базы данных (SQLite). | `bookstack` |
| `bookstack_port` | `45133` | Порт. | `bookstack` |
---
## 🎬 Сервисы Media (хост 192.168.1.203)
Общая переменная `service_config_base: "/mnt/service"` используется для всех ролей этого хоста.
### Jellyfin
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `jellyfin_base_dir` | `{{ service_config_base }}/jellyfin` | Базовый каталог. | `jellyfin`|
| `jellyfin_config_dir` | `{{ jellyfin_base_dir }}/config` | Конфигурация. | `jellyfin`|
| `jellyfin_cache_dir` | `{{ jellyfin_base_dir }}/cache` | Кэш. | `jellyfin`|
| `jellyfin_logs_dir` | `{{ jellyfin_base_dir }}/logs` | Логи. | `jellyfin`|
| `jellyfin_media_path` | `/mnt/video` | Путь к медиафайлам (видео). | `jellyfin`|
| `jellyfin_port` | `45131` | Порт. | `jellyfin`|
| `jellyfin_hw_acceleration` | true | Включить аппаратное ускорение (VAAPI). | `jellyfin`|
### Audiobookshelf
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-------------------|
| `audiobookshelf_base_dir` | `{{ service_config_base }}/audiobookshelf` | Базовый каталог. | `audiobookshelf` |
| `audiobookshelf_config_dir` | `{{ audiobookshelf_base_dir }}/config` | Конфигурация. | `audiobookshelf` |
| `audiobookshelf_db_dir` | `{{ audiobookshelf_base_dir }}/db` | Каталог базы данных. | `audiobookshelf` |
| `audiobookshelf_port` | `45132` | Порт. | `audiobookshelf` |
### Calibre Web
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|---------------|
| `calibre_base_dir` | `{{ service_config_base }}/calibre` | Базовый каталог. | `calibre-web` |
| `calibre_library_dir` | `/mnt/books/calibre` | Каталог библиотеки Calibre. | `calibre-web` |
| `calibre_config_dir` | `{{ calibre_base_dir }}/config` | Конфигурация. | `calibre-web` |
| `calibre_web_port` | `45133` | Порт. | `calibre-web` |
| `calibre_web_db_path` | `{{ calibre_config_dir }}/app.db` | Путь к файлу базы данных. | `calibre-web` |
| `calibre_web_enable_uploading` | true | Разрешить загрузку книг. | `calibre-web` |
| `calibre_web_enable_conversion` | true | Разрешить конвертацию книг. | `calibre-web` |
| `calibre_web_enable_registration` | false | Разрешить регистрацию новых пользователей. | `calibre-web` |
| `calibre_web_enable_webdav` | true | Включить WebDAV. | `calibre-web` |
| `calibre_web_enable_opds` | true | Включить OPDS-каталог. | `calibre-web` |
### Ampache
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `ampache_base_dir` | `{{ service_config_base }}/ampache` | Базовый каталог. | `ampache` |
| `ampache_config_dir` | `{{ ampache_base_dir }}/config` | Конфигурация. | `ampache` |
| `ampache_logs_dir` | `{{ ampache_base_dir }}/logs` | Логи. | `ampache` |
| `ampache_mysql_dir` | `{{ ampache_base_dir }}/mysql` | Каталог MySQL (данные). | `ampache` |
| `ampache_port` | `45134` | Порт. | `ampache` |
### Flibusta (Z-Library зеркало)
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-------------|
| `flibusta_base_dir` | `/mnt/service/flibusta` | Базовый каталог. | `flibusta` |
| `flibusta_source_archives_dir` | `/mnt/books/flibusta` | Каталог с архивами книг (исходные данные). | `flibusta` |
| `flibusta_web_port` | `45137` | Порт веб-интерфейса. | `flibusta` |
| `flibusta_db_port` | `45138` | Порт базы данных (PostgreSQL). | `flibusta` |
| `flibusta_db_user` | `flibusta` | Пользователь БД. | `flibusta` |
| `flibusta_db_password` | `{{ vault_flibusta_db_password }}` | Пароль БД (vault). | `flibusta` |
| `flibusta_db_name` | `flibusta` | Имя базы данных. | `flibusta` |
---
## 📸 Сервисы Photo (хост 192.168.1.204)
### Immich
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `immich_base_dir` | `/mnt/immich` | Базовый каталог. | `immich` |
| `immich_port` | `45131` | Порт веб-интерфейса. | `immich` |
| `immich_db_username` | `postgres` | Пользователь PostgreSQL. | `immich` |
| `immich_db_password` | `{{ vault_immich_db_password }}` | Пароль БД (vault). | `immich` |
| `immich_db_name` | `immich` | Имя БД. | `immich` |
| `immich_version` | `release` | Версия Immich (release последняя стабильная). | `immich` |
---
## 💬 Сервисы Talk (хост 192.168.1.206)
### Mumble
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `mumble_base_dir` | `/mnt/mumble` | Базовый каталог. | `mumble` |
| `mumble_data_dir` | `{{ mumble_base_dir }}/data` | Данные. | `mumble` |
| `mumble_port` | `45131` | Порт клиентского подключения. | `mumble` |
| `mumble_ice_port` | `6502` | Порт ICE (интерфейс управления). | `mumble` |
| `mumble_max_users` | `100` | Максимальное количество пользователей. | `mumble` |
| `mumble_server_password` | `{{ vault_mumble_server_password }}` | Пароль для доступа к серверу (если требуется). | `mumble` |
| `mumble_superuser_password` | `{{ vault_mumble_superuser_password }}` | Пароль суперпользователя (vault). | `mumble` |
### Matrix (Synapse) архивная роль
Переменные для Matrix находятся в `arhive_roles/matrix`. Мы их перечислим кратко, так как роль не используется.
| Переменная | Значение | Назначение |
|------------------------------------|------------------------------|-------------------------------------------------|
| `matrix_base_dir` | `/mnt/matrix` | Базовый каталог. |
| `matrix_data_dir` | `/mnt/matrix/data` | Данные Synapse. |
| `matrix_config_dir` | `/mnt/matrix/config` | Конфигурация. |
| `matrix_media_dir` | `/mnt/matrix/media` | Медиафайлы. |
| `matrix_postgres_dir` | `/mnt/matrix/postgres` | Данные PostgreSQL. |
| `matrix_port` | `45132` | Порт. |
| `matrix_domain` | `matrix.zailon.ru` | Домен. |
| `matrix_server_name` | `matrix.zailon.ru` | Имя сервера. |
| `matrix_registration_enabled` | false | Разрешена регистрация. |
| `matrix_postgres_user` | `synapse` | Пользователь БД. |
| `matrix_postgres_password` | `{{ vault_matrix_postgres_password }}` | Пароль БД. |
| `matrix_postgres_db` | `synapse` | Имя БД. |
| `matrix_synapse_secret` | `{{ vault_matrix_synapse_secret }}` | Секрет. |
| `matrix_macaroon_secret` | `{{ vault_matrix_macaroon_secret }}` | Секрет. |
| `matrix_form_secret` | `{{ vault_matrix_form_secret }}` | Секрет. |
### Snikket (XMPP)
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `snikket_base_dir` | `/mnt/snikket` | Базовый каталог. | `snikket` |
| `snikket_data_dir` | `/mnt/snikket/snikket_data` | Данные сервера. | `snikket` |
| `snikket_nginx_custom_dir` | `/mnt/snikket/nginx-custom` | Кастомные настройки nginx. | `snikket` |
| `snikket_backup_dir` | `/backup/snikket` | Каталог резервных копий. | `snikket` |
| `snikket_domain` | `chat.zailon.ru` | Домен XMPP-сервера. | `snikket` |
| `snikket_admin_email` | `zailon@bk.ru` | Email администратора. | `snikket` |
| `snikket_external_ip` | `188.73.191.202` | Внешний IP сервера (для TURN). | `snikket` |
| `snikket_http_port` | 8080 | HTTP-порт. | `snikket` |
| `snikket_https_port` | 8443 | HTTPS-порт. | `snikket` |
| `snikket_xmpp_port` | 5222 | XMPP-порт (клиент). | `snikket` |
| `snikket_component_port` | 5349 | Порт для компонентов. | `snikket` |
| `snikket_turn_port` | 3478 | TURN-порт. | `snikket` |
| `snikket_turn_tls_port` | 5349 | TURN с TLS. | `snikket` |
| `snikket_rtp_min_port` | 50000 | Минимальный порт RTP. | `snikket` |
| `snikket_rtp_max_port` | 50100 | Максимальный порт RTP. | `snikket` |
| `snikket_enable_acme` | false | Отключить автоматические сертификаты ACME. | `snikket` |
| `snikket_disable_tls` | true | Отключить TLS (используется прокси nginx). | `snikket` |
| `snikket_trusted_proxy` | `*` | Доверенные прокси. | `snikket` |
| `snikket_max_file_size` | `500M` | Максимальный размер файла. | `snikket` |
| `snikket_image_tag` | `dev` | Тег образа Snikket (dev последняя dev-версия). | `snikket` |
| `snikket_create_initial_invite` | false | Не создавать приглашение автоматически. | `snikket` |
| `snikket_backup_enabled` | true | Включить автоматическое резервное копирование. | `snikket` |
| `snikket_backup_retention_days` | 30 | Хранить бэкапы 30 дней. | `snikket` |
| `snikket_admin_password` | `{{ vault_snikket_admin_password }}` | Пароль администратора (vault). | `snikket` |
| `snikket_invite_token` | `{{ vault_snikket_invite_token }}` | Токен для приглашений (vault). | `snikket` |
### TeamSpeak
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-------------|
| `teamspeak_base_dir` | `/mnt/teamspeak` | Базовый каталог. | `teamspeak` |
| `teamspeak_data_dir` | `/mnt/teamspeak/data` | Данные сервера. | `teamspeak` |
| `teamspeak_logs_dir` | `/mnt/teamspeak/logs` | Логи. | `teamspeak` |
| `teamspeak_query_port` | `10011` | Порт Query API. | `teamspeak` |
| `teamspeak_voice_port` | `9987` | Голосовой порт (UDP). | `teamspeak` |
| `teamspeak_file_port` | `30033` | Порт передачи файлов. | `teamspeak` |
---
## 🎮 Сервисы Games (хост 192.168.1.207)
### Minecraft
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-------------|
| `minecraft_base_dir` | `/mnt/minecraft` | Базовый каталог. | `minecraft` |
| `minecraft_data_dir` | `/mnt/minecraft/data` | Данные сервера. | `minecraft` |
| `minecraft_port` | `25565` | Игровой порт. | `minecraft` |
| `minecraft_memory` | `4G` | Выделяемая память. | `minecraft` |
| `minecraft_version` | `1.21.1` | Версия Minecraft. | `minecraft` |
| `minecraft_neoforge_version` | `21.1.0` | Версия NeoForge (моды). | `minecraft` |
| `minecraft_type` | `NEOFORGE` | Тип сервера (Vanilla/Forge/NeoForge). | `minecraft` |
| `minecraft_eula` | `true` | Принятие EULA. | `minecraft` |
| `minecraft_motd` | `Minecraft @ zailon.ru` | Текст MOTD. | `minecraft` |
| `minecraft_online_mode` | `true` | Проверка лицензий. | `minecraft` |
| `minecraft_mods` | список URL-адресов модов | Список модов для загрузки. | `minecraft` |
---
## 🛠️ Сервисы Manage (хост 192.168.1.208)
### MeshCentral
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|---------------|
| `meshcentral_base_dir` | `/opt/meshcentral` | Базовый каталог. | `meshcentral` |
| `meshcentral_data_dir` | `/mnt/mesh/meshcentral-data` | Данные. | `meshcentral` |
| `meshcentral_files_dir` | `/mnt/mesh/meshcentral-files` | Файлы. | `meshcentral` |
| `meshcentral_backup_dir` | `/mnt/mesh/meshcentral-backup` | Бэкапы. | `meshcentral` |
| `meshcentral_port` | `45131` | Порт веб-интерфейса. | `meshcentral` |
### Grafana
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `grafana_base_dir` | `/mnt/grafana` | Базовый каталог. | `grafana` |
| `grafana_data_dir` | `/mnt/grafana/data` | Данные Grafana. | `grafana` |
| `grafana_config_dir` | `/mnt/grafana/config` | Конфигурация. | `grafana` |
| `grafana_vm_data_dir` | `/mnt/grafana/victoriametrics` | Данные VictoriaMetrics. | `grafana` |
| `grafana_vmagent_tmp_dir` | `/mnt/grafana/vmagent/tmp` | Временная директория VMagent. | `grafana` |
| `grafana_vmagent_config` | `/mnt/grafana/vmagent/vmagent.yaml` | Конфиг VMagent. | `grafana` |
| `grafana_port` | `45132` | Порт Grafana. | `grafana` |
### Loki
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `loki_base_dir` | `/mnt/loki` | Базовый каталог. | `loki` |
| `loki_config_dir` | `/mnt/loki/config` | Конфигурация. | `loki` |
| `loki_data_dir` | `/mnt/loki/data` | Данные Loki. | `loki` |
| `loki_server_host` | `{{ server_ips.manage }}` | IP-адрес, на котором слушает Loki. | `loki` |
| `loki_server_port` | `{{ monitoring_ports.loki }}` | Порт Loki. | `loki` |
### Promtail
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-------------|
| `promtail_config_dir` | `/etc/promtail` | Каталог конфигурации Promtail. | `promtail` |
| `promtail_data_dir` | `/var/lib/promtail` | Данные Promtail (позиции). | `promtail` |
---
## 📦 Сервисы Git (хост 192.168.1.209)
### GitLab
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-----------|
| `gitlab_base_dir` | `/mnt/git` | Базовый каталог. | `gitlab` |
| `gitlab_config_dir` | `/mnt/git/config` | Конфигурация GitLab. | `gitlab` |
| `gitlab_logs_dir` | `/mnt/git/logs` | Логи. | `gitlab` |
| `gitlab_data_dir` | `/mnt/git/data` | Данные (репозитории, база данных). | `gitlab` |
| `gitlab_backup_dir` | `/mnt/git/backup` | Резервные копии. | `gitlab` |
| `gitlab_http_port` | `45130` | HTTP-порт (внешний). | `gitlab` |
| `gitlab_ssh_port` | `2222` | SSH-порт для git-операций. | `gitlab` |
| `gitlab_version` | `17.5.5-ce.0` | Версия GitLab CE. | `gitlab` |
| `gitlab_hostname` | `git.zailon.ru` | Внутреннее имя хоста. | `gitlab` |
| `gitlab_external_url` | `https://git.zailon.ru` | Внешний URL. | `gitlab` |
| `gitlab_root_password` | `{{ vault_gitlab_root_password }}` | Пароль root (vault). | `gitlab` |
---
## 🧲 Сервисы Torrent (хост 192.168.1.211)
### qBittorrent
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|---------------|
| `qbittorrent_base_dir` | `/mnt/service/qbittorrent` | Базовый каталог. | `qbittorrent` |
| `qbittorrent_config_dir` | `/mnt/service/qbittorrent/appdata` | Конфигурация. | `qbittorrent` |
| `qbittorrent_downloads_dir` | `/mnt/service/qbittorrent/downloads` | Каталог загрузок (локальный). | `qbittorrent` |
| `qbittorrent_puid` | 1000 | ID пользователя для контейнера. | `qbittorrent` |
| `qbittorrent_pgid` | 1003 | ID группы. | `qbittorrent` |
| `qbittorrent_port_webui` | 8080 | Порт веб-интерфейса. | `qbittorrent` |
| `qbittorrent_port_torrent` | 6881 | Порт для торрент-трафика. | `qbittorrent` |
| `qbittorrent_smb_credentials_dir` | `/etc/smb-creds` | Каталог для файлов с учетными данными SMB. | `qbittorrent` |
**SMB-учетные данные:**
| Переменная | Значение | Назначение |
|------------------------------------|----------------------------------|-------------------------------------------------------|
| `qbittorrent_smb_creds.olimp.username` | `Olimp` | Логин для шары Olimp. |
| `qbittorrent_smb_creds.olimp.password` | `{{ vault_smb_olimp_password }}` | Пароль (vault). |
| `qbittorrent_smb_creds.olimp.file` | `olimp` | Имя файла с креденшелами. |
| `qbittorrent_smb_creds.qb.username` | `qb` | Логин для шары qb. |
| `qbittorrent_smb_creds.qb.password` | `{{ vault_samba_password_qb }}` | Пароль (vault). |
| `qbittorrent_smb_creds.qb.file` | `qb` | Имя файла. |
**SMB-шары (монтируемые):**
Переменная `qbittorrent_shares` — список словарей с параметрами монтирования. Каждый элемент содержит:
- `name` — название (используется в пути монтирования).
- `src` — UNC-путь к шаре.
- `dest` — точка монтирования в контейнере.
- `credential` — ссылка на учётные данные (olimp или qb).
- `opts` — параметры монтирования.
Эти шары монтируются на хост через `fstab` (роль `qbittorrent` обеспечивает это) и затем пробрасываются в контейнер.
### TorrServer
| Переменная | Значение | Назначение | Роль |
|------------------------------------|----------------------------------|-------------------------------------------------------|-------------|
| `torrserver_base_dir` | `/mnt/service/torrserver` | Базовый каталог. | `torrserver`|
| `torrserver_config_dir` | `/mnt/service/torrserver/config` | Конфигурация. | `torrserver`|
| `torrserver_torrents_dir` | `/mnt/service/torrserver/torrents` | Каталог с торрент-файлами. | `torrserver`|
| `torrserver_port` | `45132` | Порт веб-интерфейса. | `torrserver`|
---
## 🔐 Секретные переменные (vault)
Переменные, начинающиеся с `vault_`, хранятся в зашифрованном файле `vault.yml`. Они используются в вышеперечисленных ролях. Для редактирования используется команда:
```bash
ansible-vault edit vault.yml
```
Пароль vault должен быть известен администратору.
Список vault-переменных (не включая их значения):
- `vault_pve_exporter_token`
- `vault_grafana_admin_password`
- `vault_bitwarden_admin_token`
- `vault_bitwarden_smtp_password`
- `vault_mealie_db_password`
- `vault_flibusta_db_password`
- `vault_immich_db_password`
- `vault_mumble_server_password`
- `vault_mumble_superuser_password`
- `vault_matrix_postgres_password`
- `vault_matrix_synapse_secret`
- `vault_matrix_macaroon_secret`
- `vault_matrix_form_secret`
- `vault_snikket_admin_password`
- `vault_snikket_invite_token`
- `vault_gitlab_root_password`
- `vault_smb_olimp_password`
- `vault_samba_password_qb`
---
## 📌 Примечания
- Большинство переменных предназначены для использования в **шаблонах Docker Compose** (файлы `docker-compose.yml.j2`). В них переменные подставляются через Jinja2.
- Для мониторинга используются группы хостов, заданные через IP-адреса, что позволяет гибко настраивать, какие сервисы мониторить.
- Все пути к данным вынесены в переменные, что облегчает миграцию на другое хранилище при необходимости.
- Переменные, связанные с портами, используют схему: для каждого сервиса выделен уникальный порт в диапазоне 451xx, чтобы избежать конфликтов при пробросе на хост.
---
<details open>
<summary>📄 Полный файл group_vars/all.yml</summary>
\```yaml
---
# =============================================================================
# ОБЩИЕ НАСТРОЙКИ (GLOBAL)
# =============================================================================
timezone: Asia/Yekaterinburg
system_locale: ru_RU.UTF-8
x11_display_host: "192.168.1.101"
admin_user: root
# Базовые пакеты для всех серверов
base_packages:
- curl
- wget
- gnupg
- ca-certificates
- software-properties-common
- tree
- htop
- nano
- git
- apt-transport-https
- net-tools
- dnsutils
- iputils-ping
- traceroute
- sudo
- mc
- iftop
- pv
- jq
- unzip
# Пользовательские директории
custom_directories:
- /opt/scripts
- /etc/apt/keyrings
# SSH ключи (публичные части — безопасно хранить открыто)
ssh_public_keys:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID8/+/WFFYDu4ljy1j9+bWp6MiXZ9a0iodoPHq+nEpIr ansible@git"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbvnGZxQEGYuScClONbkbfVn2+Uo1kYYztXqMf9ku1lHkw+7IZa00LOMwv7QGBRvrtBcw+TWqaMst5FZ3R6oWcQc+nkBEYoRXe4f3AuuFAl9C9F6sEYM8fX6mAHIlWQhFyVslazZtVTQwnfRV0rnbtCduCu9liywM3fShFqBVwq7Y4nBjG648Zq+VfCHpbBE9XkZaMDyeOXdtppmLetywnBS33mbXMDgH09PMlRz097xfZLkpFdSi8WtDOtKSBiEHtZ+H0EZ42Cda2xMnqlgVtPxWGUirvv6CvDyTmuMzrjALZoSKhl3iD6Szd1YOJcAw6bv9gbJKxPkZchrB65ZXT ZailonOlimp"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCy3BrhfJx6+ey4h4ZHgBNsuCbgKNwY83lhE/FuHdFxy4NmjiHSH4yXyPz3Qt+mz/VnSQ2rzzsY9xkDs/V+6e3LmXGuhhk65mwYKhWneWTAgprM6CN2PUi5d5P8MXUXDwgVR+XivfI4Y/Bpe8RvGyssuzgra38R5UKZCXKn9lrumkZKq9+GlMKUDLZp5C3/xA/GuI/C4Q+2BT1vOJSM86/7w5VPcd3IjYVTgNA4/V1fR9S/zB0OEkDfK2euqq2zTb6EzDxOGSYcXeH3t37bo0smKqnIehQmkbguLjsGYHEuP4ZE62DJwPZAMwRjn20wf6Nmzy9VQsDGl6Li4nl/TApouQSFbm4NjJOGN7KDT/R54Oq8VCi9rjHOvIg7vxZc3c+ckQGPNmj8FDoyy2Jj9Q1yEUdcSwdI4KvXn0VN2wlJTuN3pzStAI9wMhlUPx7w4DsAiftAvR8OLYSCch9khK146TYWtv4skqd9N0skNJMFVun9VuqT85IXqh6DVecY1fVyTd9qFgz3OfF0idQ4rMI2hxNAZjEZH2gTtb1eYT1UMeBzpBOuQbmWODgCK33Ec3nvV+XXj561Hj5Qpf9bg8i3TTM1dQImKE8macUPn9GwCdshdEJ9VlUwrB9z7SXTtLysgziTkpes5r84Cp/j5tem+7VLOln316d34nz0KU9/Qw== ansible@olimp"
# Пакеты для удаления
cleanup_packages:
- gparted
# =============================================================================
# СЕТЕВЫЕ НАСТРОЙКИ
# =============================================================================
server_ips:
olimp: "192.168.1.200" # Proxmox
gateway: "192.168.1.201" # NPM, Dashy, Heimdall
data: "192.168.1.202" # Bitwarden, Mealie, Bookstack
media: "192.168.1.203" # Jellyfin, Ampache, Calibre
photo: "192.168.1.204" # Immich
nextcloud: "192.168.1.205" # Nextcloud
talk: "192.168.1.206" # Matrix, Mumble, Snikket, TeamSpeak
games: "192.168.1.207" # Minecraft
manage: "192.168.1.208" # Grafana, Loki, MeshCentral
git: "192.168.1.209" # GitLab
ansible: "192.168.1.210" # Ansible
torrent: "192.168.1.211" # Qbittorrent, TorrServer
# =============================================================================
# МОНИТОРИНГ (VictoriaMetrics, Grafana, Loki)
# =============================================================================
monitoring_ports:
node_exporter: 9100
proxmox_exporter: 9223
vmagent: 8429
victoriametrics: 8428
loki: 3100
promtail: 9080
monitoring_groups:
node_exporter_servers:
- "{{ server_ips.olimp }}"
- "{{ server_ips.gateway }}"
- "{{ server_ips.data }}"
- "{{ server_ips.media }}"
- "{{ server_ips.photo }}"
- "{{ server_ips.talk }}"
- "{{ server_ips.games }}"
- "{{ server_ips.manage }}"
- "{{ server_ips.git }}"
- "{{ server_ips.ansible }}"
- "{{ server_ips.torrent }}"
proxmox_servers:
- "{{ server_ips.olimp }}"
promtail_servers:
- "{{ server_ips.gateway }}"
- "{{ server_ips.data }}"
- "{{ server_ips.media }}"
- "{{ server_ips.photo }}"
- "{{ server_ips.talk }}"
- "{{ server_ips.games }}"
- "{{ server_ips.manage }}"
- "{{ server_ips.git }}"
- "{{ server_ips.ansible }}"
- "{{ server_ips.torrent }}"
# Proxmox Exporter
pve_exporter_user: "pve_exporter@pve"
pve_exporter_token_name: "grafana"
pve_exporter_token_value: "{{ vault_pve_exporter_token }}"
# VictoriaMetrics & Grafana
victoriametrics_retention_months: 2
victoriametrics_version: v1.101.0
grafana_version: 11.2.0
grafana_admin_user: admin
grafana_admin_password: "{{ vault_grafana_admin_password }}"
grafana_root_url: https://mon.zailon.ru
# Loki
loki_version: "2.9.2"
loki_retention_days: 30
# cAdvisor
cadvisor_enabled: true
cadvisor_base_dir: "/opt/cadvisor"
cadvisor_port: 8080
# =============================================================================
# СЕРВИСЫ: GATEWAY (192.168.1.201)
# =============================================================================
npm_base_dir: "/opt/npm"
npm_data_dir: "/opt/npm/data"
npm_letsencrypt_dir: "/opt/npm/letsencrypt"
heimdall_base_dir: "/opt/heimdall"
heimdall_config_dir: "/opt/heimdall/config"
heimdall_port: "45131"
dashy_base_dir: "/opt/dashy"
dashy_config_dir: "{{ dashy_base_dir }}/config"
dashy_port: "45132"
dashy_domain: "start.zailon.ru"
# =============================================================================
# СЕРВИСЫ: DATA (192.168.1.202)
# =============================================================================
# Bitwarden
bitwarden_base_dir: "/mnt/bitwarden"
bitwarden_data_dir: "{{ bitwarden_base_dir }}/vw-data"
bitwarden_port: "45131"
bitwarden_admin_token: "{{ vault_bitwarden_admin_token }}"
bitwarden_websocket_enabled: true
bitwarden_signups_allowed: false
bitwarden_smtp_host: "smtp.mail.ru"
bitwarden_smtp_port: "465"
bitwarden_smtp_ssl: true
bitwarden_smtp_username: "zailon@bk.ru"
bitwarden_smtp_password: "{{ vault_bitwarden_smtp_password }}"
bitwarden_smtp_from: "zailon@bk.ru"
bitwarden_domain: "https://bw.zailon.ru"
# Mealie
mealie_base_dir: "/mnt/mealie"
mealie_data_dir: "/mnt/mealie/data"
mealie_port: "45132"
mealie_db_type: "sqlite"
mealie_db_password: "{{ vault_mealie_db_password }}"
# Bookstack
bookstack_base_dir: "/mnt/bookstack"
bookstack_config_dir: "/mnt/bookstack/config"
bookstack_uploads_dir: "/mnt/bookstack/uploads"
bookstack_db_dir: "/mnt/bookstack/db"
bookstack_port: "45133"
# =============================================================================
# СЕРВИСЫ: MEDIA (192.168.1.203)
# =============================================================================
service_config_base: "/mnt/service"
# Jellyfin
jellyfin_base_dir: "{{ service_config_base }}/jellyfin"
jellyfin_config_dir: "{{ jellyfin_base_dir }}/config"
jellyfin_cache_dir: "{{ jellyfin_base_dir }}/cache"
jellyfin_logs_dir: "{{ jellyfin_base_dir }}/logs"
jellyfin_media_path: "/mnt/video"
jellyfin_port: "45131"
jellyfin_hw_acceleration: true
# Audiobookshelf
audiobookshelf_base_dir: "{{ service_config_base }}/audiobookshelf"
audiobookshelf_config_dir: "{{ audiobookshelf_base_dir }}/config"
audiobookshelf_db_dir: "{{ audiobookshelf_base_dir }}/db"
audiobookshelf_port: "45132"
# Calibre Web
calibre_base_dir: "{{ service_config_base }}/calibre"
calibre_library_dir: "/mnt/books/calibre"
calibre_config_dir: "{{ calibre_base_dir }}/config"
calibre_web_port: "45133"
calibre_web_db_path: "{{ calibre_config_dir }}/app.db"
calibre_web_enable_uploading: true
calibre_web_enable_conversion: true
calibre_web_enable_registration: false
calibre_web_enable_webdav: true
calibre_web_enable_opds: true
# Ampache
ampache_base_dir: "{{ service_config_base }}/ampache"
ampache_config_dir: "{{ ampache_base_dir }}/config"
ampache_logs_dir: "{{ ampache_base_dir }}/logs"
ampache_mysql_dir: "{{ ampache_base_dir }}/mysql"
ampache_port: "45134"
# Flibusta
flibusta_base_dir: "/mnt/service/flibusta"
flibusta_source_archives_dir: "/mnt/books/flibusta"
flibusta_web_port: "45137"
flibusta_db_port: "45138"
flibusta_db_user: "flibusta"
flibusta_db_password: "{{ vault_flibusta_db_password }}"
flibusta_db_name: "flibusta"
# =============================================================================
# СЕРВИСЫ: PHOTO (192.168.1.204)
# =============================================================================
immich_base_dir: "/mnt/immich"
immich_port: "45131"
immich_db_username: "postgres"
immich_db_password: "{{ vault_immich_db_password }}"
immich_db_name: "immich"
immich_version: "release"
# =============================================================================
# СЕРВИСЫ: TALK (192.168.1.206)
# =============================================================================
# Mumble
mumble_base_dir: "/mnt/mumble"
mumble_data_dir: "{{ mumble_base_dir }}/data"
mumble_port: "45131"
mumble_ice_port: "6502"
mumble_max_users: "100"
mumble_server_password: "{{ vault_mumble_server_password }}"
mumble_superuser_password: "{{ vault_mumble_superuser_password }}"
# Matrix (Synapse)
matrix_base_dir: "/mnt/matrix"
matrix_data_dir: "{{ matrix_base_dir }}/data"
matrix_config_dir: "{{ matrix_base_dir }}/config"
matrix_media_dir: "{{ matrix_base_dir }}/media"
matrix_postgres_dir: "{{ matrix_base_dir }}/postgres"
matrix_port: "45132"
matrix_domain: "matrix.zailon.ru"
matrix_server_name: "{{ matrix_domain }}"
matrix_registration_enabled: false
matrix_report_stats: "no"
matrix_postgres_user: "synapse"
matrix_postgres_password: "{{ vault_matrix_postgres_password }}"
matrix_postgres_db: "synapse"
matrix_synapse_secret: "{{ vault_matrix_synapse_secret }}"
matrix_macaroon_secret: "{{ vault_matrix_macaroon_secret }}"
matrix_form_secret: "{{ vault_matrix_form_secret }}"
# Snikket (XMPP)
snikket_base_dir: "/mnt/snikket"
snikket_data_dir: "{{ snikket_base_dir }}/snikket_data"
snikket_nginx_custom_dir: "{{ snikket_base_dir }}/nginx-custom"
snikket_backup_dir: "/backup/snikket"
snikket_domain: "chat.zailon.ru"
snikket_admin_email: "zailon@bk.ru"
snikket_external_ip: "188.73.191.202"
snikket_http_port: 8080
snikket_https_port: 8443
snikket_xmpp_port: 5222
snikket_component_port: 5349
snikket_turn_port: 3478
snikket_turn_tls_port: 5349
snikket_rtp_min_port: 50000
snikket_rtp_max_port: 50100
snikket_enable_acme: false
snikket_disable_tls: true
snikket_trusted_proxy: "*"
snikket_max_file_size: "500M"
snikket_image_tag: "dev"
snikket_create_initial_invite: false
snikket_backup_enabled: true
snikket_backup_retention_days: 30
snikket_admin_password: "{{ vault_snikket_admin_password }}"
snikket_invite_token: "{{ vault_snikket_invite_token }}"
# TeamSpeak
teamspeak_base_dir: "/mnt/teamspeak"
teamspeak_data_dir: "{{ teamspeak_base_dir }}/data"
teamspeak_logs_dir: "{{ teamspeak_base_dir }}/logs"
teamspeak_query_port: "10011"
teamspeak_voice_port: "9987"
teamspeak_file_port: "30033"
# =============================================================================
# СЕРВИСЫ: GAMES (192.168.1.207)
# =============================================================================
minecraft_base_dir: "/mnt/minecraft"
minecraft_data_dir: "{{ minecraft_base_dir }}/data"
minecraft_port: "25565"
minecraft_memory: "4G"
minecraft_version: "1.21.1"
minecraft_neoforge_version: "21.1.0"
minecraft_type: "NEOFORGE"
minecraft_eula: "true"
minecraft_motd: "Minecraft @ zailon.ru"
minecraft_online_mode: "true"
minecraft_mods:
- "https://mediafilez.forgecdn.net/files/7178/775/create-1.21.1-6.0.8.jar"
# =============================================================================
# СЕРВИСЫ: MANAGE (192.168.1.208)
# =============================================================================
meshcentral_base_dir: "/opt/meshcentral"
meshcentral_data_dir: "/mnt/mesh/meshcentral-data"
meshcentral_files_dir: "/mnt/mesh/meshcentral-files"
meshcentral_backup_dir: "/mnt/mesh/meshcentral-backup"
meshcentral_port: "45131"
# Grafana
grafana_base_dir: /mnt/grafana
grafana_data_dir: "{{ grafana_base_dir }}/data"
grafana_config_dir: "{{ grafana_base_dir }}/config"
grafana_vm_data_dir: "{{ grafana_base_dir }}/victoriametrics"
grafana_vmagent_tmp_dir: "{{ grafana_base_dir }}/vmagent/tmp"
grafana_vmagent_config: "{{ grafana_base_dir }}/vmagent/vmagent.yaml"
grafana_port: 45132
# Loki
loki_base_dir: "/mnt/loki"
loki_config_dir: "{{ loki_base_dir }}/config"
loki_data_dir: "{{ loki_base_dir }}/data"
loki_server_host: "{{ server_ips.manage }}"
loki_server_port: "{{ monitoring_ports.loki }}"
# Promtail
promtail_config_dir: "/etc/promtail"
promtail_data_dir: "/var/lib/promtail"
# =============================================================================
# СЕРВИСЫ: GIT (192.168.1.209)
# =============================================================================
gitlab_base_dir: "/mnt/git"
gitlab_config_dir: "{{ gitlab_base_dir }}/config"
gitlab_logs_dir: "{{ gitlab_base_dir }}/logs"
gitlab_data_dir: "{{ gitlab_base_dir }}/data"
gitlab_backup_dir: "{{ gitlab_base_dir }}/backup"
gitlab_http_port: "45130"
gitlab_ssh_port: "2222"
gitlab_version: "17.5.5-ce.0"
gitlab_hostname: "git.zailon.ru"
gitlab_external_url: "https://git.zailon.ru"
gitlab_root_password: "{{ vault_gitlab_root_password }}"
# =============================================================================
# СЕРВИСЫ: TORRENT (192.168.1.211)
# =============================================================================
qbittorrent_base_dir: "/mnt/service/qbittorrent"
qbittorrent_config_dir: "{{ qbittorrent_base_dir }}/appdata"
qbittorrent_downloads_dir: "{{ qbittorrent_base_dir }}/downloads"
qbittorrent_puid: 1000
qbittorrent_pgid: 1003
qbittorrent_port_webui: 8080
qbittorrent_port_torrent: 6881
qbittorrent_smb_credentials_dir: "/etc/smb-creds"
# Учётные данные для SMB-шар
qbittorrent_smb_creds:
olimp:
username: "Olimp"
password: "{{ vault_smb_olimp_password }}"
file: "olimp"
qb:
username: "qb"
password: "{{ vault_samba_password_qb }}"
file: "qb"
# Маунты SMB-шар
qbittorrent_shares:
- name: downloads
src: "//192.168.1.101/Downloads"
dest: "/mnt/downloads"
credential: "olimp"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.olimp.file }}"
- name: abook
src: "//192.168.1.203/Abook"
dest: "/mnt/abook"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: music
src: "//192.168.1.203/Music"
dest: "/mnt/audio"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: books
src: "//192.168.1.203/Books"
dest: "/mnt/books"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: films
src: "//192.168.1.203/Films"
dest: "/mnt/video/films"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: mult
src: "//192.168.1.203/Mult"
dest: "/mnt/video/mult"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: anime
src: "//192.168.1.203/Anime"
dest: "/mnt/video/anime"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: serial
src: "//192.168.1.203/Serial"
dest: "/mnt/video/serial"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: mserials
src: "//192.168.1.203/Mserials"
dest: "/mnt/video/mserials"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: doc
src: "//192.168.1.203/Doc"
dest: "/mnt/video/doc"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: ztube
src: "//192.168.1.203/Ztube"
dest: "/mnt/video/ztube"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: show
src: "//192.168.1.203/Show"
dest: "/mnt/video/show"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
- name: games
src: "//192.168.1.207/Games"
dest: "/mnt/games"
opts: "rw,uid={{ qbittorrent_puid }},gid={{ qbittorrent_pgid }},file_mode=0644,dir_mode=0755,vers=3.0,credentials=/etc/smb-creds/{{ qbittorrent_smb_creds.qb.file }}"
torrserver_base_dir: "/mnt/service/torrserver"
torrserver_config_dir: "{{ torrserver_base_dir }}/config"
torrserver_torrents_dir: "{{ torrserver_base_dir }}/torrents"
torrserver_port: "45132"
...
\```
</details>
---
[Плейбуки и запуск](09-ansible-playbooks.md)*