Wiki.js разворачивается отдельно от Around application stack. Основной deploy через infra_around не запускает и не обновляет Wiki.js.
Wiki repository:
git@github.com:Arch1E2/wiki_around.git
Рекомендуемый домен:
wiki.q7m4t2x9b1.auna.kz
DNS должен указывать на сервер. TLS сертификаты выпустить на host машине:
sudo certbot certonly --standalone -d wiki.q7m4t2x9b1.auna.kz
Если порт 80 занят nginx контейнером Around, временно остановить nginx:
sudo -u around-deploy bash -lc 'cd /home/around-deploy/around-infra/deploy && docker compose -f docker-compose.prod.yml stop nginx'
sudo certbot certonly --standalone -d wiki.q7m4t2x9b1.auna.kz
sudo -u around-deploy bash -lc 'cd /home/around-deploy/around-infra/deploy && docker compose -f docker-compose.prod.yml up -d nginx'
Создать отдельного пользователя можно, но минимально достаточно держать wiki рядом с deploy user:
sudo -u around-deploy git clone git@github.com:Arch1E2/wiki_around.git /home/around-deploy/wiki-around
cd /home/around-deploy/wiki-around
Если репозиторий приватный, добавить public key сервера в wiki_around как read-only Deploy Key.
.envsudo -u around-deploy cp /home/around-deploy/wiki-around/.env.example /home/around-deploy/wiki-around/.env
sudo -u around-deploy nano /home/around-deploy/wiki-around/.env
Минимально заменить:
WIKI_POSTGRES_DB=wikijs
WIKI_POSTGRES_USER=wikijs
WIKI_POSTGRES_PASSWORD=<strong-password>
WIKI_PORT=3000
Права:
sudo chown around-deploy:around-deploy /home/around-deploy/wiki-around/.env
sudo chmod 600 /home/around-deploy/wiki-around/.env
Compose Wiki.js использует external network around_public.
docker network create around_public
Если сеть уже есть, команда вернет ошибку. Это нормально.
sudo -u around-deploy bash -lc 'cd /home/around-deploy/wiki-around && docker compose up -d'
Проверка:
sudo -u around-deploy bash -lc 'cd /home/around-deploy/wiki-around && docker compose ps'
sudo -u around-deploy bash -lc 'cd /home/around-deploy/wiki-around && docker compose logs --tail=100 wiki wiki_db'
После первого входа открыть Wiki.js, создать admin пользователя и выполнить начальную настройку.
Nginx из infra_around проксирует wiki.q7m4t2x9b1.auna.kz в контейнер wiki:3000 через external Docker network around_public.
Оба compose должны быть подключены к сети:
docker network inspect around_public
Фрагмент nginx:
server {
listen 443 ssl;
server_name wiki.q7m4t2x9b1.auna.kz;
ssl_certificate /etc/letsencrypt/live/wiki.q7m4t2x9b1.auna.kz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.q7m4t2x9b1.auna.kz/privkey.pem;
client_max_body_size 25m;
resolver 127.0.0.11 valid=30s ipv6=off;
location / {
set $wiki_upstream wiki:3000;
proxy_pass http://$wiki_upstream;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_redirect off;
}
}
После изменения nginx config:
sudo -u around-deploy bash -lc 'cd /home/around-deploy/around-infra && git pull --ff-only'
sudo -u around-deploy bash -lc 'cd /home/around-deploy/around-infra/deploy && docker compose -f docker-compose.prod.yml up -d nginx'
В Wiki.js включить Git storage:
Administration.Storage.Git.git@github.com:Arch1E2/wiki_around.git
master
pages
wiki_around как Deploy Key.Режим синхронизации:
Pull или Sync from Git использовать для первичного притягивания документации из git.Для read-only документации безопаснее оставить GitHub Deploy Key без write access.
Если pages обновлены в git, но Wiki.js storage sync не настроен:
sudo -u around-deploy bash -lc 'cd /home/around-deploy/wiki-around && git pull --ff-only'
sudo -u around-deploy bash -lc 'cd /home/around-deploy/wiki-around && docker compose restart wiki'
После этого выполнить sync/import в UI Wiki.js.