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

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

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

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

  • Операционная система: Debian или Ubuntu (включая версию 24.04).

  • Права доступа: Права суперпользователя (root) для установки системных пакетов и управления Docker.

  • Порты:

    • 80 — для получения SSL-сертификатов через HTTP.

    • 443 — основной порт для работы приложения по HTTPS.

    • 8067 — внутренний порт сервиса Odoo.

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

Шаблон доменного имени формируется следующим образом:

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

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

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

  • /etc/apt/sources.list.d/odoo.list — файл репозитория Odoo.

  • /usr/share/keyrings/odoo-archive-keyring.gpg — ключ безопасности репозитория.

  • /root/nginx — рабочая директория конфигурации Nginx и Docker Compose.

  • /data/nginx/user_conf.d — пользовательские конфигурационные файлы Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для контейнера Nginx.

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

Приложение устанавливается путем добавления официального репозитория Odoo (версия 18.0) и установки пакета odoo через системный менеджер пакетов apt. Также в систему устанавливаются зависимости для корректной работы функций экспорта (библиотеки Python xlwt, num2words) и компоненты для генерации PDF-документов (wkhtmltopdf).

Права доступа и безопасность

  • Брандмауэр: Должны быть открыты порты 80 и 443.

  • Безопасность репозитория: Используется GPG-ключ для проверки подлинности пакетов Odoo.

  • Контейнеризация: Прокси-сервер работает в изолированном Docker-контейнере, используя общие тома для сертификатов.

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

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

Параметр Значение
Имя образа jonasal/nginx-certbot:latest
Порты host (используется режим network_mode: host)
Тома (volumes) nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d
Переменные окружения CERTBOT_EMAIL=hkadm@hostkey.com
Политика перезапуска unless-stopped

Обновление приложения

Обновление выполняется через обновление системных пакетов:

apt update && apt upgrade odoo
Также требуется перезагрузка конфигурации Nginx для применения изменений:
docker exec nginx-nginx-1 nginx -s reload

Настройки прав

Для работы сервиса используются следующие права на директории:

  • /root/nginx: владелец root, группа root, режим 0755.

  • Файлы конфигурации в /data/nginx/user_conf.d имеют соответствующие права доступа для чтения Nginx.

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

  • Конфигурация проксирования: /data/nginx/user_conf.d/odoo{Server_ID}.hostkey.in.conf.

  • Файл переменных Docker: /data/nginx/nginx-certbot.env.

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

  • https://odoo{Server_ID}.hostkey.in — основной доступ к интерфейсу Odoo.

Запуск, остановка приложения

Управление прокси-сервером осуществляется через Docker Compose:

  • Запуск: docker compose up -d (в директории /root/nginx).

  • Перезагрузка конфигурации Nginx: docker exec nginx-nginx-1 nginx -s reload.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×