Config files for my personal virtual server
app | ||
files | ||
roles | ||
templates | ||
vars | ||
.ansible-lint.yml | ||
.editorconfig | ||
.gitignore | ||
ansible-vault-password-file.dist | ||
ansible.cfg | ||
hosts_vagrant | ||
playbook-caddy.yml | ||
playbook-configuration.yml | ||
playbook-docker.yml | ||
playbook-netdata.yml | ||
playbook-system.yml | ||
playbook-upgrade.yml | ||
production.yml | ||
README.md | ||
requirements.yml | ||
Taskfile.yml | ||
tasks.py | ||
Vagrantfile |
Pet Project Server
Настройки виртуального сервера для домашних проектов.
В этом проекте не самые оптимальные решения. Но они помогают мне поддерживать сервер для моих личных проектов уже семь лет.
Требования
Установка
$ cp ansible-vault-password-file.dist ansible-vault-password-file
$ ansible-galaxy install --role-file requirements.yml
Структура
- Для каждого приложения создается свой пользователь.
- Для доступа используется ssh-ключ.
- Докер используется для запуска и изоляции приложений. Для загрузки образов настраивается Yandex Docker Registry.
- Выход во внешнюю сеть через proxy server Caddy.
- Чувствительные данные в
vars/vars.yaml
зашифрованы с помощью Ansible Vault. - Для мониторинга за сервером устанавливается netdata.
Частые команды
Конфигурация приложений (если нужно добавить новое приложение):
$ task configure-apps
Конфигурация мониторинга (если нужно обновить netdata):
$ task configure-monitoring
Деплой приложений
Доступные для деплоя приложения:
invoke --list
Выполнить команду деплоя, например:
invoke deploy:gitea