58 lines
4.0 KiB
Markdown
58 lines
4.0 KiB
Markdown
|
||
Install:
|
||
|
||
`sudo bash remote.sh SERVER_HOST`
|
||
|
||
Install server-backup
|
||
`sudo bash remote.sh 5.252.21.50`
|
||
|
||
|
||
## Основной алгоритм:
|
||
|
||
Установка предполагает полностью автоматизированное развертывание из репозиториев всей структуры сервера.
|
||
На текущий момент это Alpha версия, которая может содержать в себе значительные недостатки.
|
||
|
||
1. С сервера разработчика dev.dd запускается скрипт `remote.sh <SERVER_HOST>`
|
||
* плдключает .env `secrets/<SERVER_HOST>`
|
||
* считывает SAFE_PASSWORD из `$SECRETS_SAFE/keys.env`
|
||
|
||
* Установите открытый ключ SSH с хоста разработчика на целевой хост
|
||
* Скопируйте сценарий установки с хоста разработчика на целевой хост в каталоге tmp
|
||
* Скопируйте скрипт secrets-decrypt с хоста разработчика на целевой хост в каталоге tmp
|
||
* Создать каталог секретов на целевом хосте
|
||
* Копирование секретного архива с исходного хоста на целевой хост
|
||
* Запустите скрипт secrets-decrypt для расшифровки архива секретов на целевом хосте
|
||
* Запустите сценарий установки на целевом хосте
|
||
|
||
2. Далее запускается `install.sh` на удаленном сервере:
|
||
* ...
|
||
|
||
3. Далее запускается `init-server.sh` на удаленном сервере:
|
||
* ...
|
||
|
||
4. Далее запускается `$SERVER_NAME/install.sh` на удаленном сервере:
|
||
Он устанавливает и настраивает уже непосредственно программы, котрые выполняются на сервере
|
||
* ...
|
||
|
||
|
||
## Бэкап letsencrypt ssl сертификатов на dev сервер:
|
||
|
||
`secrets-le-save.sh`
|
||
|
||
Sample: `sudo bash secrets-le-save.sh checkerwars.com`
|
||
|
||
Для запуска необходимо указать параметр `REMOTE_SERVER_HOST`
|
||
Скрипт используется для бэкапа letsencrypt ssl сертификатов.
|
||
Копирует с указанного удаленного сервера .acme.json на локальный dev сервер.
|
||
Может иметь смысл, например, перед полной пеерустановкой сервера, т.к letsencrypt имеет лимиты на генерацию сертификатов для одного домена.
|
||
Что бы не злоупотреблять сервисом LE, и не получить проблему с генерацией нового сертификата, нужно сделать резервную копию преред очищением содержимого сервера.
|
||
В таком случае, при повторном запуске скрипта установки сервера, файл с сеиртификатами будет автоматически загружен на сервер, и повторная генерация не потребуется.
|
||
|
||
|
||
## Push в репозиторий секретов:
|
||
|
||
Sample: `sudo bash secrets-push.sh checkerwars.com`
|
||
|
||
`secrets-push.sh`
|
||
Для запуска необходимо указать параметр `REMOTE_SERVER_HOST`
|
||
Скрипт упаковывает в зашифрованны архив секреты на dev сервере и отправляет их в репозиторий на origin сервер, с которого в дальнейшем, при установке сервера, они будут заружаться и распаковываться в соответствующую хосту директорию. |