41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Pet Project Server
 | ||
| 
 | ||
| Настройки виртуального сервера для домашних проектов.
 | ||
| 
 | ||
| > В этом проекте не самые оптимальные решения.
 | ||
| > Но они помогают мне поддерживать сервер для моих личных проектов уже много лет. 
 | ||
| 
 | ||
| ## Требования
 | ||
| 
 | ||
| - [ansible](https://docs.ansible.com/ansible/latest/getting_started/index.html)
 | ||
| - [task](https://taskfile.dev/)
 | ||
| - [yq](https://github.com/mikefarah/yq)
 | ||
| 
 | ||
| ## Установка
 | ||
| 
 | ||
| ```bash
 | ||
| $ cp ansible-vault-password-file.dist ansible-vault-password-file
 | ||
| $ ansible-galaxy install --role-file requirements.yml
 | ||
| ```
 | ||
| 
 | ||
| ## Структура
 | ||
| 
 | ||
| - Для каждого приложения создается свой пользователь (опционально).
 | ||
| - Для доступа используется ssh-ключ.
 | ||
| - Докер используется для запуска и изоляции приложений. Для загрузки образов настраивается Yandex Docker Registry.
 | ||
| - Выход во внешнюю сеть через proxy server [Caddy](https://caddyserver.com/).
 | ||
| - Чувствительные данные в `vars/vars.yaml` зашифрованы с помощью Ansible Vault.
 | ||
| - Для мониторинга за сервером устанавливается [netdata](https://github.com/netdata/netdata).
 | ||
| 
 | ||
| ## Настройка DNS
 | ||
| 
 | ||
| В организации Яндекс: https://admin.yandex.ru/domains/vakhrushev.me?action=set_dns&uid=46045840
 | ||
| 
 | ||
| ## Деплой приложений
 | ||
| 
 | ||
| Деплой всех приложений через ansible:
 | ||
| 
 | ||
| ```bash
 | ||
| ansible-playbook -i production.yml --diff playbook-gitea.yml
 | ||
| ```
 |