Skip to content

External Dependencies

These are systems and services that live outside the VPS and the Docker Compose stack. Changes to them require coordination with third-party providers or separate infrastructure teams.


Elasticsearch Cluster

The search and vector storage backend. Not running on the main VPS.

Item Value
Host 172.236.132.81
Port 9200 (HTTPS)
Kibana 172.236.132.82:5601
Authentication Basic auth — ES_USER / ES_PASSWORD from .env
Managed via Kubernetes — kubeconfig at elastic-kubeconfig.yaml in project root

Elasticsearch Snapshot Backups

Snapshots are stored in Linode Object Storage and managed separately from the SQLite backups.

Item Value
Snapshot bucket elastic-backup
Repository name linode_backup
Region sg-sin-1
Credentials Stored as a Kubernetes secret in the Elasticsearch cluster

Full procedures are documented in ELASTICSEARCH_BACKUP_GUIDE.md in the project root.


Embedding Service

All vector embedding generation (turning text into dense vectors) is handled by an external service rather than running a local model.

Item Value
URL https://embed.zygy.com/embed
Model intfloat/multilingual-e5-large-instruct (default)
Auth EMBEDDING_API_KEY from .env
Config variable EMBEDDING_SERVICE_URL

Why external?

The embedding model was migrated from a local HuggingFace container to reduce memory footprint and improve scalability on the VPS.


LLM Provider

All backend services use a configurable LLM provider. The active provider is set by LLM_PROVIDER in .env.

LLM_PROVIDER value Description
custom Custom API endpoint (default; used with Z.AI)
zai Z.AI platform
openai OpenAI API
openrouter OpenRouter (model aggregator)
huggingface HuggingFace Inference API

Current production config

Variable Value / Purpose
OPENAI_API_BASE https://api.openai.com/v1
OPENAI_API_KEY OpenAI API key
MODEL_NAME gpt-4.1 (default model for most services)
CHART_MODEL_NAME gpt-4.1 (chart generation)
LLM_MODEL_NAME gpt-4o (LLM-specific override)

To switch LLM providers or models, see MODEL_CHANGER_GUIDE.md in the project root.


MongoDB (via Mongo Tunnel)

The MongoDB instance is hosted externally and accessed exclusively through the SSH tunnel.

Item Value
Remote host 103.3.62.250
SSH port 9823
MongoDB port 27017
Connection string mongodb://zygy:<password>@mongo-tunnel:27017

See Mongo Tunnel for full setup details.


Linode Object Storage

Used for SQLite database backups.

Item Value
Provider Linode (Akamai Cloud) Object Storage
Region sg-sin-1 (Singapore)
Endpoint sg-sin-1.linodeobjects.com
SQLite backup bucket zygy-backups-service
Elasticsearch snapshot bucket elastic-backup
Credentials LINODE_ACCESS_KEY / LINODE_SECRET_KEY in .env

SMTP (Email)

Used by backend-dailysummary for daily report emails.

Item Value
Host smtppro13.mschosting.com
Port 465 (SSL)
Provider Exabytes hosting
Credentials SMTP_USER / SMTP_PASSWORD in .env

Java Backend (OSINT / Social Intelligence)

A separate Java-based service for social intelligence / OSINT features.

Item Value
URL https://osint.zygy.ai
Config variable JAVA_BACKEND_URL

This service is maintained separately and is not part of this Docker Compose stack.