8.2.17 Установка Outline Wiki
Outline — это современная Wiki-платформа с открытым исходным кодом, удобным редактором и поддержкой командной работы. Платформа идеально подходит для команд, которым нужна собственная внутренняя Wiki — без зависимости от сторонних SaaS. Благодаря Docker Compose, вы сможете развернуть Outline, PostgreSQL и Redis в изолированной среде за считанные минуты.
Преимущества
- Быстрое развертывание без сложной настройки окружения
- Изоляция сервисов и лёгкое масштабирование
- Полный контроль над документацией вашей команды
Подготовка сервера
Требования
- Виртуальный или Выделенный сервер
- Минимум 2 CPU, 2 ГБ RAM, 10 ГБ SSD
- Наличие root доступа либо пользователя с правами sudo
- Перед началом обязательно установить Docker и Docker Compose
Переменные, которые нужно заменить
SECRET_KEY
— 32-символьный случайный HEX-ключ, который вы сгенерировали командойopenssl rand -hex 32
; подставляется в переменнуюSECRET_KEY
UTILS_SECRET
— второй 32-символьный HEX-ключ для переменнойUTILS_SECRET
YOUR_DOMAIN
— доменное имя вашего сайта; используется в переменнойURL
, директивеserver_name
в конфигурации Nginx и при вызове Certbot
Первым делом создайте директорию проекта и перейдите в неё:
mkdir ~/outline && cd ~/outline
Теперь сгенерируйте надёжный ключ для следующего шага. Выполните команду и сохраните ключ:
openssl rand -hex 32 # для SECRET_KEY
openssl rand -hex 32 # для UTILS_SECRET
Теперь создадим файл docker-compose.yml
в котором настроим базовые параметры для Вашего сервиса:
version: '3'
services:
outline:
image: outlinewiki/outline
environment:
- DATABASE_URL=postgres://outline:outline@db:5432/outline
- REDIS_URL=redis://redis:6379
- SECRET_KEY=SECRET_KEY
- UTILS_SECRET=UTILS_SECRET
- URL=http://YOUR_DOMAIN
- PGSSLMODE=disable
ports:
- "3000:3000"
depends_on:
- db
- redis
restart: always
db:
image: postgres:15
environment:
- POSTGRES_USER=outline
- POSTGRES_PASSWORD=outline
- POSTGRES_DB=outline
volumes:
- outline-db:/var/lib/postgresql/data
restart: always
redis:
image: redis:7
restart: always
volumes:
outline-db:
Замена домена: укажите свой домен или IP-адрес сервера вместо YOUR_DOMAIN
в переменной URL
.
Запуск контейнеров
docker compose up -d
Проверьте, что все сервисы запущены:
docker compose ps
Проверка запуска контейнера Outline
Обратите внимание: если статус outline остаётся на health: starting дольше 1–2 минут, проверьте логи:
docker compose logs -f outline
Ошибка The server does not support SSL connections — добавьте PGSSLMODE=disable в переменные окружения.
Установка Nginx как обратного прокси
Установите Nginx:
sudo apt install -y nginx
Создайте конфигурацию сайта:
sudo nano /etc/nginx/sites-available/outline
server {
listen 80;
server_name YOUR_DOMAIN ;
location / {
proxy_pass http://localhost: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;
}
}
Активируйте сайт и перезапустите Nginx:
sudo ln -s /etc/nginx/sites-available/outline /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Для защиты соединения настройте Let’s Encrypt через Certbot:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d YOUR_DOMAIN
Детальнее можете ознакомиться в нашей инструкции.
Проверка работы
Перейдите по адресу http://YOUR_DOMAIN
(или https://
, если настроен SSL) и следуйте инструкции на экране для создания первого пользователя.
Распространённые ошибки
Ошибка | Причина | Решение |
---|---|---|
Error: connect ECONNREFUSED |
Redis или PostgreSQL не запущены | Проверьте docker-compose ps , перезапустите: docker-compose up -d |
Invalid SECRET_KEY |
Слишком короткий или отсутствует ключ | Сгенерируйте заново openssl rand -hex 32 и пересоздайте контейнер |
Ошибка 502 в Nginx | Приложение не запущено или неправильный порт | Убедитесь, что outline работает на порту TCP 3000, и порт проброшен |
Официальная документация