Установка Outline базы знаний на VPS позволяет создать мощную, самохостимую платформу для совместной работы и обмена информацией внутри команды или организации. Outline — это современная wiki-система с открытым исходным кодом, которая отличается интуитивно понятным интерфейсом и богатым функционалом, включая Markdown-редактор, интеграцию с Google Docs и поддержку API. Для развертывания Outline на VPS потребуется виртуальный сервер с операционной системой Linux (рекомендуется Ubuntu 24.04 LTS), Docker и Docker Compose для упрощения управления контейнерами, а также Nginx в качестве обратного прокси и Certbot для автоматизации получения SSL-сертификатов Let's Encrypt.

Почему Outline и VPS?

Выбор Outline для базы знаний обусловлен его функциональностью и открытым исходным кодом. Система предлагает удобный редактор, мощный поиск, возможность организации контента в коллекции и документы, а также интеграцию с внешними сервисами. Размещение Outline на собственном VPS предоставляет полный контроль над данными, безопасностью и производительностью, что критически важно для конфиденциальной корпоративной информации. Это также позволяет избежать ежемесячных платежей за SaaS-решения и кастомизировать среду под свои нужды.

Минимальные системные требования Outline

Для стабильной работы Outline необходимы определенные ресурсы. По состоянию на апрель 2026 года, для небольшой команды (до 10-15 пользователей) рекомендуется VPS со следующими характеристиками:

  • Процессор: 2 ядра
  • Оперативная память: 4 ГБ (минимум 2 ГБ)
  • Дисковое пространство: 20 ГБ SSD (минимум 10 ГБ)
  • Операционная система: Ubuntu 24.04 LTS или Debian 12

Эти параметры обеспечивают комфортную работу Outline вместе с базой данных PostgreSQL и Redis. При росте числа пользователей или объемов данных, потребуется масштабирование ресурсов VPS.

Выбор подходящего VPS

Выбор провайдера VPS имеет большое значение для стабильности и производительности вашей базы знаний. Важно учитывать локацию серверов, надежность сети и качество технической поддержки. Многие провайдеры предлагают доступные тарифы, начиная от $5-10 в месяц за конфигурацию, достаточную для Outline. Например, Valebyte предлагает VPS-хостинг с различными конфигурациями, подходящими для самохостинга таких приложений, как Outline.

При выборе VPS для Outline всегда отдавайте предпочтение провайдерам с быстрыми SSD-дисками и стабильной сетью. Скорость дисковой подсистемы напрямую влияет на производительность базы данных и отзывчивость всей системы.

Подготовка VPS к установке Outline

Прежде чем приступать к развертыванию Outline, необходимо подготовить ваш VPS. Все команды выполняются от имени пользователя root или с использованием sudo. Убедитесь, что у вас есть доступ по SSH к вашему серверу.

Обновление системы и установка Docker

Первый шаг — обновить все системные пакеты и установить Docker. Docker Engine 25.0, выпущенный в январе 2025 года, является стабильной версией, подходящей для развертывания Outline. Также потребуется Docker Compose, который упрощает управление мультиконтейнерными приложениями.

sudo apt update && sudo apt upgrade -y sudo apt install ca-certificates curl gnupg lsb-release -y sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y sudo usermod -aG docker $(whoami)

После выполнения этих команд, выйдите из SSH-сессии и подключитесь заново, чтобы изменения в группах пользователя вступили в силу. Это позволит запускать Docker без sudo.

Настройка Firewall (UFW)

Настройка межсетевого экрана (firewall) обязательна для защиты вашего VPS от несанкционированного доступа. UFW (Uncomplicated Firewall) — это простой в использовании инструмент для управления iptables. По умолчанию, SSH работает на порту 22, HTTP на 80, а HTTPS на 443. Если вы хотите узнать больше о базовой настройке VPS, ознакомьтесь с руководством по настройке VPS на Ubuntu 24.04.

sudo apt install ufw -y sudo ufw allow OpenSSH sudo ufw allow http sudo ufw allow https sudo ufw enable

Проверьте статус UFW командой sudo ufw status, чтобы убедиться, что правила применены и firewall активен.

Установка Outline с помощью Docker Compose

Outline использует Docker Compose для оркестрации своих компонентов: основного приложения, базы данных PostgreSQL и кэша Redis. Это значительно упрощает развертывание и управление.

  1. Создание директории проекта

    Создайте директорию для вашего проекта Outline, например, /opt/outline, и перейдите в нее.

    sudo mkdir -p /opt/outline cd /opt/outline
  2. Скачивание Docker Compose файла

    Официальный репозиторий Outline содержит пример файла docker-compose.yml. Вы можете загрузить его или создать свой, адаптировав под свои нужды. Важно использовать актуальную версию, которую можно найти на GitHub Outline.

    wget https://raw.githubusercontent.com/outline/outline/main/docker-compose.yml
  3. Настройка переменных окружения

    Outline требует настройки нескольких переменных окружения для подключения к базе данных, Redis, а также для генерации секретных ключей. Создайте файл .env в той же директории.

    nano .env

    Пример содержимого файла .env:

    # General APP_URL=https://your_domain.com SECRET_KEY=your_very_secret_key_here # Generate with `openssl rand -hex 32` UTILS_SECRET=your_utils_secret_key_here # Generate with `openssl rand -hex 32` # Database POSTGRES_DATABASE=outline POSTGRES_USER=outline POSTGRES_PASSWORD=your_db_password_here PG_DATA_PATH=/var/lib/postgresql/data # Redis REDIS_URL=redis://redis:6379 # Email (optional, but recommended) SMTP_HOST=your_smtp_host.com SMTP_PORT=587 SMTP_USERNAME=your_smtp_username SMTP_PASSWORD=your_smtp_password SMTP_FROM_EMAIL=outline@your_domain.com # Storage (S3 compatible storage is recommended for production) # If you want to use local storage, uncomment the following and comment S3 related variables S3_BUCKET_URL=https://your_s3_bucket.s3.amazonaws.com S3_ACCESS_KEY_ID=your_s3_access_key S3_SECRET_ACCESS_KEY=your_s3_secret_key # Or for local storage: # STORAGE_URL=file://./app/public/uploads # STORAGE_LOCAL_PATH=./app/public/uploads # Google Auth (optional) GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret # Other options URL_HELP=https://github.com/outline/outline/wiki URL_PRIVACY=https://your_domain.com/privacy URL_TERMS=https://your_domain.com/terms

    Важно: Замените your_domain.com на ваш реальный домен, сгенерируйте уникальные SECRET_KEY и UTILS_SECRET, а также установите надежный пароль для базы данных. Для генерации ключей можно использовать openssl rand -hex 32.

  4. Запуск контейнеров Outline

    После настройки .env файла, запустите контейнеры Docker Compose. Первая загрузка может занять некоторое время, так как Docker будет скачивать образы.

    docker compose up -d

    Опция -d запускает контейнеры в фоновом режиме. Проверить статус запущенных контейнеров можно командой docker compose ps. Вы должны увидеть контейнеры для outline, postgres и redis со статусом Up.

Настройка Nginx в качестве обратного прокси и SSL

Outline по умолчанию работает на порту 3000 внутри контейнера. Для доступа к нему через стандартные порты HTTP/HTTPS (80/443) и использования вашего доменного имени, потребуется настроить Nginx как обратный прокси. Nginx является одним из самых популярных веб-серверов, хорошо зарекомендовавшим себя в качестве обратного прокси.

Создание конфигурации Nginx

Создайте новый файл конфигурации для вашего домена в директории /etc/nginx/sites-available/. Замените your_domain.com на ваш фактический домен.

sudo nano /etc/nginx/sites-available/your_domain.com.conf

Пример конфигурации Nginx:

server { listen 80; server_name your_domain.com www.your_domain.com; # Redirect all HTTP requests to HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name your_domain.com www.your_domain.com; ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; 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; proxy_redirect off; } # Optional: Max upload size for attachments client_max_body_size 20M; }

Активируйте конфигурацию, создав символическую ссылку и перезагрузив Nginx:

sudo ln -s /etc/nginx/sites-available/your_domain.com.conf /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx

Получение SSL-сертификата с Let's Encrypt

Для безопасного HTTPS-соединения необходим SSL-сертификат. Let's Encrypt предоставляет бесплатные сертификаты, а Certbot автоматизирует процесс их получения и продления. Установите Certbot и плагин Nginx:

sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain.com -d www.your_domain.com

Certbot автоматически изменит вашу конфигурацию Nginx для использования сертификатов и настроит автоматическое продление. Процесс получения сертификатов подробно описан в официальной документации Let's Encrypt.

Финальная настройка Outline и доступ

После успешного развертывания всех компонентов и настройки Nginx, Outline должен быть доступен по вашему доменному имени через HTTPS.

Настройка администратора

При первом доступе к Outline через веб-браузер, вам будет предложено создать учетную запись администратора. Заполните необходимую информацию, чтобы начать использовать вашу базу знаний. Outline поддерживает различные методы аутентификации, включая Google, Slack, а также email/пароль, в зависимости от ваших настроек в файле .env.

Важные аспекты безопасности и обслуживания

  • Резервное копирование: Регулярно создавайте резервные копии базы данных PostgreSQL и директории с загруженными файлами (если используется локальное хранилище). Используйте инструменты, такие как pg_dump для PostgreSQL и rsync для файлов, или рассмотрите решения вроде Vaultwarden, который тоже требует надёжного бэкапирования.
  • Обновления: Следите за обновлениями Outline и Docker-образов. Для обновления Outline достаточно остановить контейнеры (docker compose down), обновить Docker-образы (docker compose pull) и запустить их снова (docker compose up -d).
  • Мониторинг: Настройте мониторинг вашего VPS, чтобы отслеживать использование ресурсов и своевременно реагировать на потенциальные проблемы. Инструменты, такие как Prometheus и Grafana, или даже базовые системные утилиты вроде htop и df -h, могут быть полезны.
  • Безопасность: Регулярно проверяйте системные логи и применяйте обновления безопасности для вашей ОС. Рассмотрите возможность использования Fail2Ban для защиты от атак перебора паролей на SSH.

Развертывание Outline базы знаний на VPS даёт полный контроль над вашими данными и инфраструктурой. С правильной настройкой и обслуживанием, вы получите надёжный и эффективный инструмент для вашей команды.