Инструменты пользователя

Инструменты сайта


vji:wikijs:start

Это старая версия документа!


Полное руководство по развертыванию Wiki.js с HTTPS через Nginx (самоподписанные сертификаты) 1. Подготовка сервера 1.1. Обновление системы sudo apt update && sudo apt dist-upgrade -y sudo reboot 1.2. Установка зависимостей sudo apt install -y docker docker-compose nginx openssl 2. Настройка Wiki.js 2.1. Создание секрета для БД sudo mkdir -p /etc/wiki sudo openssl rand -base64 32 > /etc/wiki/.db-secret sudo chmod 600 /etc/wiki/.db-secret 2.2. Создание Docker-сети и тома docker network create wikinet docker volume create pgdata 2.3. Запуск контейнеров Wiki.js docker run -d –name=db \ -e POSTGRES_DB=wiki \ -e POSTGRES_USER=wiki \ -e POSTGRES_PASSWORD_FILE=/etc/wiki/.db-secret \ -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro \ -v pgdata:/var/lib/postgresql/data \ –restart=unless-stopped \ –network=wikinet \ postgres:17-alpine docker run -d –name=wiki \ -e DB_TYPE=postgres \ -e DB_HOST=db \ -e DB_PORT=5432 \ -e DB_PASS_FILE=/etc/wiki/.db-secret \ -v /etc/wiki/.db-secret:/etc/wiki/.db-secret:ro \ -e DB_USER=wiki \ -e DB_NAME=wiki \ -e UPGRADE_COMPANION=1 \ –restart=unless-stopped \ –network=wikinet \ ghcr.io/requarks/wiki:2 docker run -d –name=wiki-update-companion \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ –restart=unless-stopped \ –network=wikinet \ ghcr.io/requarks/wiki-update-companion:latest 3. Настройка Nginx + HTTPS 3.1. Генерация SSL-сертификатов sudo mkdir -p /etc/nginx/ssl/wikibssz.test sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/nginx/ssl/wikibssz.test/key.pem \ -out /etc/nginx/ssl/wikibssz.test/cert.pem \ -subj «/CN=wikibssz.test» \ -addext «subjectAltName=DNS:wikibssz.test» sudo chmod 644 /etc/nginx/ssl/wikibssz.test/* 3.2. Создание конфига Nginx sudo tee /etc/nginx/conf.d/wikibssz.test.conf « 'EOF' server {

 listen 80;
 server_name wikibssz.test;
 return 301 https://$host$request_uri;

}

server {

 listen 443 ssl;
 server_name wikibssz.test;
 ssl_certificate /etc/nginx/ssl/wikibssz.test/cert.pem;
 ssl_certificate_key /etc/nginx/ssl/wikibssz.test/key.pem;
 location / {
     proxy_pass http://wiki:3000;
     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;
 }

} EOF 3.3. Запуск Nginx в Docker docker run -d –name=nginx-proxy \ -p 80:80 \ -p 443:443 \ -v /etc/nginx/conf.d:/etc/nginx/conf.d \ -v /etc/nginx/ssl:/etc/nginx/ssl \ –network=wikinet \ –restart=unless-stopped \ nginx:alpine 4. Проверка работы 4.1. Добавление домена в hosts (если нужно) echo «127.0.0.1 wikibssz.test» | sudo tee -a /etc/hosts 4.2. Проверка доступности curl -vk https://wikibssz.test 4.3. Проверка логов docker logs nginx-proxy docker logs wiki 5. Дополнительные настройки 5.1. Открытие портов в фаерволе (если используется) sudo ufw allow 80/tcp sudo ufw allow 443/tcp 5.2. Настройка автоматического обновления сертификатов sudo crontab -e Добавить строку:

@monthly openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/wikibssz.test/key.pem -out /etc/nginx/ssl/wikibssz.test/cert.pem -subj «/CN=wikibssz.test» -addext «subjectAltName=DNS:wikibssz.test» && docker restart nginx-proxy 7. Готово!

Wiki.js теперь доступен по:

HTTP: http://wikibssz.test (автоматически перенаправляет на HTTPS)

HTTPS: https://wikibssz.test

Для доступа с других устройств добавьте запись в их файл `hosts`:

<IP_сервера> wikibssz.test

vji/wikijs/start.1753258104.txt.gz · Последнее изменение: 2025/07/23 08:08 — vji

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki