Skip to Content
Open Source AI Platform

Democratic AI for the
Public Sector

Deploy governed AI assistants in infrastructure you control, with audit logging, access controls, and support for your approved AI providers.

Eneo AI Assistant Interface



Quick Start

Two ways to get a running instance: the Docker Compose reference stack (served by Traefik with Let’s Encrypt, so it needs a public domain) or the VS Code DevContainer for local development.

# Clone the repository and enter the deployment folder git clone https://github.com/eneo-ai/eneo.git cd eneo/docs/deployment/ # Copy environment templates cp env_backend.template env_backend.env cp env_frontend.template env_frontend.env cp env_db.template env_db.env # Create the external network Traefik uses docker network create proxy_tier # Generate the secrets the templates ship empty echo "JWT_SECRET=$(openssl rand -hex 32)" # env_backend.env echo "URL_SIGNING_KEY=$(openssl rand -hex 32)" # env_backend.env echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)" # env_backend.env AND env_db.env docker compose run --rm --no-deps backend python -m eneo.cli.generate_encryption_key # ENCRYPTION_KEY in env_backend.env # Paste the values into the env files, set PUBLIC_ORIGIN and the domain URLs, # and replace your-domain.com / your-email@domain.com in docker-compose.yml # Start all services docker compose up -d

Access: https://your-domain.com (Traefik only routes the host name you set in docker-compose.yml; there is no localhost route)

Default login: user@example.com / ChangeMePassword1!

The deployment guide walks through every value.

Next steps after install: Add an AI provider in Admin → Models (saving credentials requires ENCRYPTION_KEY), then create your first Space and Assistant. Full deployment guide →


Team Collaboration

Collaborative Spaces

Organize AI assistants and knowledge bases into team workspaces

Eneo Spaces Interface

Create Spaces

Isolate projects per team or department

Add Knowledge

Upload PDFs, Word, Excel or crawl websites

Build Assistants

Custom prompts, models, and knowledge bases

Secure Access

Role-based permissions with audit trails



Key Capabilities

CapabilityDescription
AI AssistantsCreate custom assistants with specific system prompts and knowledge bases
Knowledge ManagementProcess PDFs, Word, Excel, and web content with semantic search
Multi-tenantIsolate organizations with separate credentials, IdPs, and quotas
Real-time ChatStreaming responses via SSE with conversation history
Background ProcessingAsync document ingestion and web crawling with ARQ workers
API-firstFull REST API with OpenAPI documentation

Community & Support

Governed by public sector organizations, ensuring development aligns with public interest
Contact: digitalisering@sundsvall.se (for public sector organizations)

"Generative AI must not be a technology for the few, but a technology for everyone."
Originally developed by Sundsvall Municipality & Ånge Municipality