Установка и настройка Докидо на VDS сервер
Докидо - это обычный веб-сервер, который слушает определенный порт и имеет API, через которое происходит общение с пользователем в браузере. Таким образом, если у вас имеется VPS/VDS хостинг, то вы можете скачать серверную версию Докидо и установить её на ваш сервер. Рассмотрим вариант установки Докидо на Ubuntu сервер с работающим сайтом под Nginx. Предположим, есть сайт www.dokido.ru, и хочется установить Докидо так, чтобы можно было обращаться к нему по пути www.dokido.ru/demo/.
Шаг 1. Готовим место
Заходим на сервер и создаём директорию, куда будет скопировано приложение. В этой же самой директории будут хранится база данных и все служебные файлы. Например, создаём папку /home/app/demo
. Так как на сервере установлена Ubuntu, то следует скачать и распаковать туда серверную версию для Linux - dokido-server-linux-x64.tar.gz. Архив содержит единственный файл dokido-app
. Можете распаковать программу на локальной машине, а потом скопировать приложение на сервер.
Шаг 2. Первый запуск
Сейчас пришла очередь открыть терминал сервера и запустить dokido-app
. В нашем случае, это /home/app/demo/dokido-app
. При первом запуске сервер создаст необходимые файлы и остаётся в рабочем состоянии. Прервите его работу в терминале нажав Ctrl-C.
Шаг 3. Редактируем настройки
Пришла очередь открыть в редакторе созданный файл config.yaml. Он имеет примерно такой вид:
1port: 4896
2host: localhost
3hostpath:
4jwt: "1W6W2395WH4P"
- host - доменное имя;
- port - порт, который будет слушать программа;
- hotspath - путь;
- jwt - случайная строка для создания JWT ключей.
Вы можете изменить любые параметры. В поле host укажите доменное имя, а в параметре hostpath - путь к Докидо после доменного имени. Например:
1port: 4896
2host: www.dokido.ru
3hostpath: /demo
4jwt: "KW6W1295WH4P"
В целях безопасности, рекомендуется определить список "белых" ip-адресов и подсетей. В этом случае, все запросы с других ip-адресов будут игнорироваться. Вы можете указать подсети принадлежащие вашему провайдеру. Также, обязательно добавьте локальные подсети ::1/128 и 127.0.0.0/31. "Белый" список ip-адресов и подсетей указывается в параметре whitelist. Например,
1whitelist:
2 - ::1/128
3 - 127.0.0.0/31
4 - 92.140.108.0/24
5 - 92.140.109.0/24
Шаг 4. Создание systemd сервиса
Зарегистрируем программу Докидо в качестве сервиса. Для этого создадим файл с расширением .service
в соответствующей директории - например, /lib/systemd/system (Ubuntu). Имя файлу можно дать такое же, как имя директории. Ниже приведен самый простой вариант файла demo.service
, хотя .service файл может иметь гораздо больше параметров. Самое главное - указать путь к программе ExecStart.
1[Unit]
2Description=Dokido Service
3
4[Service]
5ExecStart=/home/app/demo/dokido-app
6WorkingDirectory=/home/app/demo
7
8[Install]
9WantedBy=multi-user.target
Запускаем и подключаем наш сервис. Он будет автоматически запускаться после перезагрузки системы.
1# укажите вместо `demo` выбранное вами имя
2systemctl enable demo.service
3systemctl start demo.service
Если вы измените файл .service, то необходимо выполнить systemctl daemon-reload для обновления настроек. Для получения статуса сервиса используйте systemctl status yourname.service или service yourname status.
1root@novostrim:/home/app/demo# service demo status
2● demo.service - Dokido Service
3 Loaded: loaded (/lib/systemd/system/demo.service; enabled; vendor preset: enabled)
4 Active: active (running) since Sat 2024-01-13 15:25:11 MSK; 7s ago
5 Main PID: 174827 (dokido-app)
6 Tasks: 6 (limit: 2221)
7 Memory: 2.5M
8 CPU: 13ms
9 CGroup: /system.slice/demo.service
10 └─174827 /home/app/demo/dokido-app
В будущем, после обновления версии Докидо следует вызвать service yourname restart
.
Шаг 5. Настройка Nginx
Осталось внести изменения в файл конфигурации сайта для nginx, чтобы он перенаправлял все запросы www.dokido.ru/demo на работающий Докидо сервер. Для этого откроем в редакторе файл /etc/nginx/conf.d/yourdomain.conf
. В нашем случае это будет /etc/nginx/conf.d/dokido.ru.conf
. Находим там секцию
1server {
2 listen 443 ssl;
3
4 server_name www.dokido.ru;
5 ...
и добавляем в конец
1 location /demo/ {
2 access_log off;
3 proxy_pass http://127.0.0.1:4896;
4 proxy_set_header Host $host;
5 proxy_set_header X-Real-IP $remote_addr;
6 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
7 proxy_redirect off;
8 }
Вместо /demo
укажите hostpath из config.yaml. Также проверьте, чтобы порт в proxy_pass http://127.0.0.1:4896;
совпадал с полем port из файла настроек.
Осталось сохранить .conf
файл и перезапустить nginx - service nginx restart
.
Шаг 6. Завершение установки
Так как Докидо сервер и Nginx уже работают, то попробуем открыть нужную страницу в браузере. Если всё сделано правильно, то должна отобразиться форма создания администратора, где вы должны придумать логин и пароль.
После этого можно считать, что серверная версия Докидо успешно установлена и готова к работе. При этом, она не влияет на функционирование остального сайта.
Не забывайте, что бесплатный период ознакомления составляет только 30 дней. Если вы решите удалить Докидо, то откатите все сделанные изменения и удалите директорию, где расположена программа.