Skip to main content

Deploy and CI

NaviBot deploy is handled through GitLab CI and Ansible.

Important files

  • .gitlab-ci.yml
  • deploy/README.md
  • deploy/templates/nginx.conf.j2
  • docs/gitlab-ci-deploy.md

Required deployment values

Typical variables:

SSH_PRIVATE_KEY
VAULT_PASSWORD
HOSTS_TEST
HOSTS_PROD
SITE_URL_TEST
SITE_URL_PROD
SITE_DOMAIN_TEST
SITE_DOMAIN_PROD
WIDGET_URL_TEST
WIDGET_URL_PROD
ADMIN_URL_TEST
ADMIN_URL_PROD
TELEPORT_JOIN_TOKEN
VITE_TURNSTILE_SITE_KEY
VITE_TELEGRAM_BOT_USERNAME
TELEGRAM_CLIENT_ID
TELEGRAM_CLIENT_SECRET
OPENAI_API_KEY

Turnstile

The public site key is safe for frontend builds. The secret key must stay in backend or CI secret variables.

OpenAI production mode

For managed mode, add:

OPENAI_API_KEY

For customer key mode, the key is saved through the cabinet and stored in encrypted integration credentials.

Nginx / SPA fallback

The frontend server must serve index.html for:

  • /demo
  • /docs/*
  • /app/*

Backend proxy paths should include:

  • /api/
  • /uploads/
  • /widget.js
  • /widget.<hash>.js
  • /socket.io/