Files
pet-project-server/README.md
Anton Vakhrushev 8728eb0203
Some checks failed
Linting / YAML Lint (push) Successful in 9s
Linting / Ansible Lint (push) Failing after 29s
Improve docs
2026-01-18 10:02:44 +03:00

2.0 KiB
Raw Blame History

Pet Project Server

Настройки виртуального сервера для домашних проектов.

В этом проекте не самые оптимальные решения. Но они помогают мне поддерживать сервер для моих личных проектов уже много лет.

Требования

Установка

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.
  • Чувствительные данные в secrets.yml зашифрованы с помощью Ansible Vault.
  • Для мониторинга за сервером устанавливается netdata.

Настройка DNS

В организации Яндекс: https://admin.yandex.ru/domains/vakhrushev.me?action=set_dns&uid=46045840

Деплой приложений

Деплой приложения через ansible:

uv run ansible-playbook ansible-playbook -i production.yml --diff playbook-gitea.yml

Удаление приложения

uv run ansible-playbook -i production.yml --diff playbook-remove-user-and-app.yml --extra-vars user_name=<name>