From 8728eb020372ef2d9686d951572f563e46c19ac7 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sun, 18 Jan 2026 10:02:44 +0300 Subject: [PATCH] Improve docs --- README.md | 23 +++++++++++++++++------ playbook-all-applications.yml | 4 ++-- playbook-remove-user-and-app.yml | 5 +++++ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index eebd04b..3722bf9 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ ## Требования +- [uv](https://docs.astral.sh/uv/) - [ansible](https://docs.ansible.com/ansible/latest/getting_started/index.html) - [task](https://taskfile.dev/) - [yq](https://github.com/mikefarah/yq) @@ -14,17 +15,21 @@ ## Установка ```bash -$ cp ansible-vault-password-file.dist ansible-vault-password-file -$ ansible-galaxy install --role-file requirements.yml +uv sync + +cp ansible-vault-password-file.dist ansible-vault-password-file + +uv run ansible-galaxy install --role-file requirements.yml ``` ## Структура -- Для каждого приложения создается свой пользователь (опционально). +- Для каждого приложения создается свой пользователь. - Для доступа используется ssh-ключ. +- Безопасность осуществляется с помощью `ufw` и `fail2ban`. - Докер используется для запуска и изоляции приложений. Для загрузки образов настраивается Yandex Docker Registry. - Выход во внешнюю сеть через proxy server [Caddy](https://caddyserver.com/). -- Чувствительные данные в `vars/vars.yaml` зашифрованы с помощью Ansible Vault. +- Чувствительные данные в [secrets.yml](vars/secrets.yml) зашифрованы с помощью Ansible Vault. - Для мониторинга за сервером устанавливается [netdata](https://github.com/netdata/netdata). ## Настройка DNS @@ -33,8 +38,14 @@ $ ansible-galaxy install --role-file requirements.yml ## Деплой приложений -Деплой всех приложений через ansible: +Деплой приложения через ansible: ```bash -ansible-playbook -i production.yml --diff playbook-gitea.yml +uv run ansible-playbook ansible-playbook -i production.yml --diff playbook-gitea.yml +``` + +## Удаление приложения + +```bash +uv run ansible-playbook -i production.yml --diff playbook-remove-user-and-app.yml --extra-vars user_name= ``` diff --git a/playbook-all-applications.yml b/playbook-all-applications.yml index 69ab790..76b20e5 100644 --- a/playbook-all-applications.yml +++ b/playbook-all-applications.yml @@ -31,8 +31,8 @@ - name: 'Configure wanderer' ansible.builtin.import_playbook: playbook-wanderer.yml -- name: 'Configure kavita' - ansible.builtin.import_playbook: playbook-kavita.yml +- name: 'Configure calibre' + ansible.builtin.import_playbook: playbook-calibre.yml # diff --git a/playbook-remove-user-and-app.yml b/playbook-remove-user-and-app.yml index 07db1ac..98ffa0b 100644 --- a/playbook-remove-user-and-app.yml +++ b/playbook-remove-user-and-app.yml @@ -25,6 +25,11 @@ path: "/var/www/{{ user_name }}" state: absent + - name: "Remove application dir" + ansible.builtin.file: + path: "/mnt/applications/{{ user_name }}" + state: absent + - name: "Remove home dir" ansible.builtin.file: path: "/home/{{ user_name }}"