| install.sh | ||
| README.md | ||
| remote.sh | ||
| secrets-decrypt.sh | ||
| secrets-encrypt.sh | ||
| secrets-le-save.sh | ||
| secrets-push.sh | ||
Install:
sudo bash remote.sh SERVER_HOST
Install server-backup
sudo bash remote.sh 5.252.21.50
Основной алгоритм:
Установка предполагает полностью автоматизированное развертывание из репозиториев всей структуры сервера. На текущий момент это Alpha версия, которая может содержать в себе значительные недостатки.
- С сервера разработчика dev.dd запускается скрипт
remote.sh <SERVER_HOST>
-
плдключает .env
secrets/<SERVER_HOST> -
считывает SAFE_PASSWORD из
$SECRETS_SAFE/keys.env -
Установите открытый ключ SSH с хоста разработчика на целевой хост
-
Скопируйте сценарий установки с хоста разработчика на целевой хост в каталоге tmp
-
Скопируйте скрипт secrets-decrypt с хоста разработчика на целевой хост в каталоге tmp
-
Создать каталог секретов на целевом хосте
-
Копирование секретного архива с исходного хоста на целевой хост
-
Запустите скрипт secrets-decrypt для расшифровки архива секретов на целевом хосте
-
Запустите сценарий установки на целевом хосте
- Далее запускается
install.shна удаленном сервере:
- ...
- Далее запускается
init-server.shна удаленном сервере:
- ...
- Далее запускается
$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 сервер, с которого в дальнейшем, при установке сервера, они будут заружаться и распаковываться в соответствующую хосту директорию.