Improve docs
Some checks failed
Linting / YAML Lint (push) Successful in 9s
Linting / Ansible Lint (push) Failing after 29s

This commit is contained in:
2026-01-18 10:02:44 +03:00
parent 926f4ea135
commit 8728eb0203
3 changed files with 24 additions and 8 deletions

View File

@@ -7,6 +7,7 @@
## Требования ## Требования
- [uv](https://docs.astral.sh/uv/)
- [ansible](https://docs.ansible.com/ansible/latest/getting_started/index.html) - [ansible](https://docs.ansible.com/ansible/latest/getting_started/index.html)
- [task](https://taskfile.dev/) - [task](https://taskfile.dev/)
- [yq](https://github.com/mikefarah/yq) - [yq](https://github.com/mikefarah/yq)
@@ -14,17 +15,21 @@
## Установка ## Установка
```bash ```bash
$ cp ansible-vault-password-file.dist ansible-vault-password-file uv sync
$ ansible-galaxy install --role-file requirements.yml
cp ansible-vault-password-file.dist ansible-vault-password-file
uv run ansible-galaxy install --role-file requirements.yml
``` ```
## Структура ## Структура
- Для каждого приложения создается свой пользователь (опционально). - Для каждого приложения создается свой пользователь.
- Для доступа используется ssh-ключ. - Для доступа используется ssh-ключ.
- Безопасность осуществляется с помощью `ufw` и `fail2ban`.
- Докер используется для запуска и изоляции приложений. Для загрузки образов настраивается Yandex Docker Registry. - Докер используется для запуска и изоляции приложений. Для загрузки образов настраивается Yandex Docker Registry.
- Выход во внешнюю сеть через proxy server [Caddy](https://caddyserver.com/). - Выход во внешнюю сеть через proxy server [Caddy](https://caddyserver.com/).
- Чувствительные данные в `vars/vars.yaml` зашифрованы с помощью Ansible Vault. - Чувствительные данные в [secrets.yml](vars/secrets.yml) зашифрованы с помощью Ansible Vault.
- Для мониторинга за сервером устанавливается [netdata](https://github.com/netdata/netdata). - Для мониторинга за сервером устанавливается [netdata](https://github.com/netdata/netdata).
## Настройка DNS ## Настройка DNS
@@ -33,8 +38,14 @@ $ ansible-galaxy install --role-file requirements.yml
## Деплой приложений ## Деплой приложений
Деплой всех приложений через ansible: Деплой приложения через ansible:
```bash ```bash
ansible-playbook -i production.yml --diff playbook-gitea.yml uv run ansible-playbook ansible-playbook -i production.yml --diff playbook-gitea.yml
```
## Удаление приложения <name>
```bash
uv run ansible-playbook -i production.yml --diff playbook-remove-user-and-app.yml --extra-vars user_name=<name>
``` ```

View File

@@ -31,8 +31,8 @@
- name: 'Configure wanderer' - name: 'Configure wanderer'
ansible.builtin.import_playbook: playbook-wanderer.yml ansible.builtin.import_playbook: playbook-wanderer.yml
- name: 'Configure kavita' - name: 'Configure calibre'
ansible.builtin.import_playbook: playbook-kavita.yml ansible.builtin.import_playbook: playbook-calibre.yml
# #

View File

@@ -25,6 +25,11 @@
path: "/var/www/{{ user_name }}" path: "/var/www/{{ user_name }}"
state: absent state: absent
- name: "Remove application dir"
ansible.builtin.file:
path: "/mnt/applications/{{ user_name }}"
state: absent
- name: "Remove home dir" - name: "Remove home dir"
ansible.builtin.file: ansible.builtin.file:
path: "/home/{{ user_name }}" path: "/home/{{ user_name }}"