first initialize server
Go to file
2024-09-21 04:01:02 +05:00
install.sh autocommit 2024-08-19 15:28:46 +05:00
README.md autocommit 2024-09-21 04:01:02 +05:00
remote.sh autocommit 2024-08-14 13:44:52 +05:00
secrets-decrypt.sh autocommit 2024-08-14 10:49:52 +05:00
secrets-encrypt.sh autocommit 2024-08-14 10:49:52 +05:00
secrets-le-save.sh autocommit 2024-08-14 10:49:52 +05:00
secrets-push.sh autocommit 2024-08-14 10:49:52 +05:00

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 для расшифровки архива секретов на целевом хосте

  • Запустите сценарий установки на целевом хосте

  1. Далее запускается install.sh на удаленном сервере:
  • ...
  1. Далее запускается init-server.sh на удаленном сервере:
  • ...
  1. Далее запускается $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 сервер, с которого в дальнейшем, при установке сервера, они будут заружаться и распаковываться в соответствующую хосту директорию.