Основная статья тут.
Установить dnsmasq
Нам понадобится небольшой DNS-сервер для разрешения доменных имен, поскольку Caprover очень требователен к нему. Если у вас есть локальный DNS-сервер, поддерживающий домены с подстановочными знаками, все готово. Вы можете пропустить часть настройки DNS. Если у вас его нет, установите облегченный dnsmasq следующим образом:
sudo apt install dnsmasq
После успешной установки dnsmasq запустите и включите службу.
sudo systemctl start dnsmasq
sudo systemctl enable dnsmasq
Добавить Wildcard DNS-запись
Как только dnsmasq заработает, как и ожидалось, мы можем продолжить и добавить конфигурации и доменное имя Wildcard, как показано ниже:
$ sudo vim /etc/dnsmasq.conf
listen-address=::1,127.0.0.1,172.20.192.38
domain=example.com
server=8.8.8.8
address=/caprover.example.com/172.20.192.38
Соответственно замените IP-адреса на свои.
Затем перезапустите dnsmasq
sudo systemctl restart dnsmasq
Проверьте, работает ли это
Мы будем использовать утилиту dig, чтобы проверить, работает ли наша конфигурация.
$ dig @127.0.0.1 test.caprover.example.com
; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> @127.0.0.1 test.caprover.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32435
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;test.caprover.example.com. IN A
;; ANSWER SECTION:
test.caprover.example.com. 0 IN A 172.20.192.38
И это так!!
Далее, поскольку мы собираемся установить Caprover на локальный сервер, нам придется немного настроить нашу установку. Мы создадим каталог и добавим в него некоторые конфигурации, а затем запустим наш образ с переменной среды, которая будет представлять общедоступный IP-адрес, хотя это частный IP-адрес. Действуйте следующим образом.
sudo mkdir /captain/data/
echo "{\"skipVerifyingDomains\":\"true\"}" | sudo tee -a /captain/data/config-override.json
После этого выполните следующую команду docker, чтобы извлечь и запустить образ. Вы увидите это в команде: «-e MAIN_NODE_IP_ADDRESS=172.20.192.38». Поскольку у моего локального сервера нет общедоступного IP-адреса, «MAIN_NODE_IP_ADDRESS=172.20.192.38» указывает Caprover использовать вместо этого частный IP-адрес «172.20.192.38».
$ docker run -p 80:80 -p 443:443 -p 3000:3000 \
-e MAIN_NODE_IP_ADDRESS=172.20.192.38 -d \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /captain:/captain caprover/caprover
##Sample Output you will observe
latest: Pulling from caprover/caprover
0400ac8f7460: Pull complete
fa8559aa5ebb: Pull complete
da32bfbbc3ba: Pull complete
e1dc6725529d: Pull complete
572866ab72a6: Pull complete
63ee7d0b743d: Pull complete
81a57610b526: Pull complete
8aa72b0fc009: Pull complete
caec757d11e1: Pull complete
adcef7d4d562: Pull complete
9b93a1807495: Pull complete
f5a44e685611: Pull complete
72b9d183035e: Pull complete
42af16174623: Pull complete
Captain Starting ...
Installing Captain Service ...
Installation of CapRover is starting...
For troubleshooting, please see: https://caprover.com/docs/troubleshooting.html
>>> Checking System Compatibility <<<
Docker Version passed.
******* Warning ******* CapRover and Docker work best on Ubuntu - specially when it comes to storage drivers.
X86 CPU detected.
Total RAM 3985 MB
Pulling: nginx:1
Pulling: caprover/caprover-placeholder-app:latest
Pulling: caprover/certbot-sleeping:v1.6.0
December 15th 2020, 2:07:30.014 pm Fresh installation!
December 15th 2020, 2:07:30.016 pm Starting swarm at 172.20.192.38:2377
Swarm started: 0jz01mmwwg5ifoncrhqz0evee
*** CapRover is initializing ***
Please wait at least 60 seconds before trying to access CapRover.
https://computingforgeeks.com/setup-your-own-heroku-paas-using-caprover/