#1040: Конфигурация SEO-оптимизированного публичного портала базы знаний (helpcenter, хелп-центр)
Отредактирована: 6 дней назадНачиная с версии v5.2.0, Swarmica позволяет настроить публичный портал базы знаний в SEO-оптимизированном варианте, который улучшает индексацию поисковыми системами и позволяет дополнительно настраивать SEO-параметры, такие как Open Graph данные и т.д.
Стандартная конфигурация
Если у вас стандартная конфигурация, в которой Swarmica обслуживает и HTTP и HTTPS соединения, то проделайте следующие шаги:
1 - Установите версию Swarmica v5.2.x или выше
2 - Установите следующие значения переменных в /root/swarmica/.env:
# Версия helpcenter, соответствует версии Swarmica, например для v6.0.0:
SW_HELPCENTER_VERSION=v6.0.0
#
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
3 - Проверьте конфигурацию контейнера 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`)||Path(`/llms.txt`)||Path(`/llms-full.txt`))"
- "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"
4 - Стяните образы и перезагрузите приложение:
docker compose pull
docker compose down
docker compose up -d
Установка за L7-балансировщиком
Если у вас Swarmica установлена за внешним балансировщиком, который терминирует HTTPS соединение, а Swarmica обслуживает только HTTP, то конфигурация немного отличается
1 -Установите версию Swarmica v5.3.x или выше:
2 - Установите следующие значения переменных в /root/swarmica/.env:
# Версия helpcenter, соответствует версии Swarmica, например для v6.0.0:
SW_HELPCENTER_VERSION=v6.0.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
3 - Проверьте конфигурацию контейнера helpcenter в docker-compose.yml (отличается тем, что другой entrypoint - web, и нет middleware secure-headers):
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`)||Path(`/llms.txt`)||Path(`/llms-full.txt`))"
- "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"
4 - Стяните образы и перезагрузите приложение:
docker compose pull
docker compose down
docker compose up -d