#1040: Конфигурация SEO-оптимизированного публичного портала базы знаний (helpcenter, хелп-центр)

Swarmica позволяет настроить публичный портал базы знаний в SEO-оптимизированном варианте, который улучшает индексацию поисковыми системами и позволяет дополнительно настраивать SEO-параметры, такие как Open Graph данные и т.д.

Для этого необходимо подключить и настроить сервис helpcenter.

Если вы пользуетесь облачной SaaS версией, обратитесь к нам в поддержку, чтобы подключить этот сервис.

Если вы пользуетесь коробочным решением on-premise, то эта статья предоставит инструкции для самостоятельной настройки.

Стандартная установка (начиная с v5.2.0)

Если у вас стандартная конфигурация, в которой Swarmica обслуживает и HTTP и HTTPS соединения, то проделайте следующие шаги:

  1. Установите версию Swarmica v5.2.x или выше
  2. Установите следующие значения переменных в /root/swarmica/.env:
# Версия helpcenter, соответствует версии Swarmica, например для v5.2.0:
SW_HELPCENTER_VERSION=v5.2.0

# Адрес API для хелпцентра, должен совпадать с BASE_FRONTEND_URL, 
# Если BASE_FRONTEND_URL=https://my.swarmica.tld
NEXT_PUBLIC_HELPCENTER_SERVER_API_URL=https://my.swarmica.tld

# Фича-флаг __helpcenter
FEATURES=__helpcenter,....
  1. Добавьте конфигурацию контейнера helpcenter в docker-compose.yml:
  helpcenter:
    image: reg.gl.swd.im/swarmica/helpcenter:${SW_HELPCENTER_VERSION}
    restart: always
    depends_on:
      - django
    env_file:
      - .env
    volumes:
      - .env:/app/.env
    labels:
      - "traefik.enable=true"
      - "traefik.http.services.helpcenter.loadbalancer.server.port=4000"
      - "traefik.http.routers.helpcenter-router.rule=Host(`${SW_HOSTNAME}`) && (PathPrefix(`/category`)||PathRegexp(`^/article/.*$`)||PathPrefix(`/_next`)||PathPrefix(`/help`)||Path(`/robots/sitemap.xml`))"
      - "traefik.http.routers.helpcenter-router.priority=11"
      - "traefik.http.routers.helpcenter-router.entrypoints=web-secure"
      - "traefik.http.routers.helpcenter-router.middlewares=secure-headers,compression"
      - "traefik.http.routers.helpcenter-router.service=helpcenter"
      - "traefik.http.routers.helpcenter-router.tls.certresolver=letsencrypt"
  1. Стяните образы и перезагрузите приложение:
docker compose pull
docker compose down
docker compose up -d

Установка за L7-балансировщиком (начиная с v5.3.0)

Если у вас Swarmica установлена за внешним балансировщиком, который терминирует HTTPS соединение, а Swarmica обслуживает только HTTP, то проделайте следующие шаги:

  1. Установите версию Swarmica v5.3.x или выше:

  2. Установите следующие значения переменных в /root/swarmica/.env:

# Версия helpcenter, соответствует версии Swarmica, например для v5.3.0:
SW_HELPCENTER_VERSION=v5.3.0

# Адрес API для хелпцентра должен быть установлен в http://django:5000
NEXT_PUBLIC_HELPCENTER_SERVER_API_URL=http://django:5000

# Адрес django должен быть добавлен в DJANGO_ALLOWED_HOSTS:
# DJANGO_ALLOWED_HOSTS=django,my.swarmica.tld

# Должен быть включен флаг INSECURE_HTTP_SERVER=1
INSECURE_HTTP_SERVER=1

# Фича-флаг __helpcenter
FEATURES=__helpcenter,....
  1. Добавьте конфигурацию контейнера helpcenter в docker-compose.yml:
  helpcenter:
    image: reg.gl.swd.im/swarmica/helpcenter:${SW_HELPCENTER_VERSION}
    restart: always
    depends_on:
      - django
    env_file:
      - .env
    volumes:
      - .env:/app/.env
    labels:
      - "traefik.enable=true"
      - "traefik.http.services.helpcenter.loadbalancer.server.port=4000"
      - "traefik.http.routers.helpcenter-router.rule=Host(`${SW_HOSTNAME}`) && (PathPrefix(`/category`)||PathRegexp(`^/article/.*$`)||PathPrefix(`/_next`)||PathPrefix(`/help`)||Path(`/robots/sitemap.xml`))"
      - "traefik.http.routers.helpcenter-router.priority=11"
      - "traefik.http.routers.helpcenter-router.entrypoints=web"
      - "traefik.http.routers.helpcenter-router.middlewares=compression"
      - "traefik.http.routers.helpcenter-router.service=helpcenter"
  1. Стяните образы и перезагрузите приложение:
docker compose pull
docker compose down
docker compose up -d