Перейти к содержанию

Обзор развертывания Postiz на сервере

Предварительные требования

Для корректной работы приложения необходимы следующие условия:

  • Операционная система: Ubuntu.

  • Установленный Docker и Docker Compose.

  • Доступ к интернету для загрузки образов и получения SSL-сертификатов.

  • Настроенный DNS-запрос для доменного имени, на которое будет установлен SSL-сертификат.

FDQN итоговой панели на домене hostkey.in

Для доступа к приложению используется следующий шаблон доменного имени:

Параметр Значение
Префикс postiz
Домен hostkey.in
Полный шаблон postiz{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

Основные директории, используемые в системе:

  • /opt/postiz — рабочая директория приложения (содержит файлы конфигурации Docker).

  • /root/nginx — директория для управления прокси-сервером.

  • /data/nginx/user_conf.d — директория с конфигурациями Nginx и SSL-сертификатами.

Процесс установки приложения

Развертывание приложения выполняется в несколько этапов:

  1. Подготовка окружения: Установка Docker на сервер.

  2. Загрузка исходных файлов: Клонирование репозитория https://github.com/gitroomhq/postiz-docker-compose.git в директорию /opt/postiz.

  3. Конфигурация приложения: Автоматическая замена параметров в файле docker-compose.yaml, включая настройку URL (MAIN_URL, FRONTEND_URL, NEXT_PUBLIC_BACKEND_URL) на использование доменного имени с протоколом HTTPS. Также устанавливается уникальное имя контейнера.

  4. Запуск приложения: Инициализация и запуск сервисов через Docker Compose в директории /opt/postiz.

  5. Настройка проксирования: Создание конфигурационного файла compose.yml в /root/nginx для запуска Nginx с поддержкой SSL (Certbot) и запуск контейнера прокси-сервера.

Контейнеры Docker и их запуск

В системе работают два основных компонента:

Приложение Postiz

Контейнер разворачивается на основе файлов из репозитория в /opt/postiz.

  • Образ: используется набор образов, определенных в docker-compose.yaml (включая основной сервис приложения).

  • Имя контейнера: postiz{Server_ID_from_Invapi}.hostkey.in.

  • Сетевое взаимодействие: использует внутренние сети Docker для связи между компонентами.

Прокси-сервер Nginx

Контейнер используется для обеспечения работы по HTTPS и автоматического получения сертификатов.

  • Образ: jonasal/nginx-certbot:latest.

  • Режим сети: host (использует сетевой стек хоста).

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt — для хранения SSL-сертификатов.

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d — для конфигурационных файлов сайта.

  • Политика перезапуска: unless-stopped.

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия:

  1. Перейти в директорию с файлами приложения:

    cd /opt/postiz
    

  2. Выполнить команду обновления контейнеров:

    docker compose pull && docker compose up -d
    

Расположение конфигурационных файлов и данных

  • Конфигурация Docker Compose приложения: /opt/postiz/docker-compose.yaml.

  • Конфигурация прокси-сервера: /root/nginx/compose.yml.

  • Данные SSL-сертификатов: в томе nginx_secrets.

Доступные порты для подключения

Порт Назначение Протокол
443 Основной доступ к приложению (HTTPS) TCP
4007 Внутренний порт приложения (используется внутри сети/хоста) TCP
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×