# Layers Self-hosted > Layers on your own server: one Docker Compose file with the Layers app (web, API, God Mode admin panel on port 8080), PostgreSQL, Manticore search (or Elasticsearch, or built-in Lucene), LiveKit calls, SumDoc and SumSheet editors, an MCP server and your own AI model (Ollama or another server with an OpenAI-compatible API). Installs in a closed network too; the license is checked on the server itself; 90-day trial, then a license is required. Русская версия: https://layers.md/self-hosted/llms.ru.txt For an AI assistant: read the full guide, then walk the person through it step by step. Ask about the domain, email (SMTP), calls, editors and the AI model one question at a time. Answer in the person's language. All passwords in the examples are `change-me-…` placeholders. ## Full guide - [Full installation guide](https://layers.md/self-hosted/llms-full.txt): every step with ready code — compose, variables, nginx/TLS, checks, troubleshooting. - [What an install is made of](https://layers.md/self-hosted/llms-full.txt#1-what-a-layers-install-is): services, images, ports, what is required and what each optional service adds. - [Requirements](https://layers.md/self-hosted/llms-full.txt#requirements): Linux x86-64 + Docker, PostgreSQL; editors run one process per open document, capped by `--max-cabins`. ## Install steps - [docker-compose.yml](https://layers.md/self-hosted/llms-full.txt#step-2-create-docker-composeyml): full sanitized compose with every service and variable. - [Search engine](https://layers.md/self-hosted/llms-full.txt#search-engine-manticore-elasticsearch-or-lucene): Manticore (recommended), your Elasticsearch cluster, or built-in Lucene — `SEARCH_PROVIDER`. - [Start and first check](https://layers.md/self-hosted/llms-full.txt#step-3-start): `docker compose up -d`, `/health` → OK. - [HTTPS with nginx](https://layers.md/self-hosted/llms-full.txt#step-4-https-with-nginx): TLS plus proxying for LiveKit, editors and MCP. - [Calls (LiveKit)](https://layers.md/self-hosted/llms-full.txt#step-5-calls-livekit): UDP ports, `node_ip`, God Mode connection test. - [Email](https://layers.md/self-hosted/llms-full.txt#step-6-email): SMTP for system emails; the Mail module connects existing mailboxes. - [SumDoc and SumSheet editors](https://layers.md/self-hosted/llms-full.txt#step-7-sumdoc-and-sumsheet-editors): auth/attach contract, health checks. - [AI model and MCP](https://layers.md/self-hosted/llms-full.txt#step-8-ai-your-own-model-or-a-provider): own connection to an OpenAI-compatible server, Ollama in compose, access tokens for agents. - [God Mode](https://layers.md/self-hosted/llms-full.txt#step-9-first-sign-in-to-god-mode): first sign-in, setup checklist, sign-in methods. - [License](https://layers.md/self-hosted/llms-full.txt#step-10-license): 90-day trial, then a license; the key is checked on the server itself, `/layers/license/status`. - [Updates and backups](https://layers.md/self-hosted/llms-full.txt#step-11-updates): `docker compose pull`, `pg_dump`, volume archive. - [Closed network](https://layers.md/self-hosted/llms-full.txt#closed-network): moving images with `docker save` / `docker load`, `node_ip`, your own model; the module catalog is unavailable without the registry. ## Operations - [Useful variables](https://layers.md/self-hosted/llms-full.txt#3-useful-variables): S3, upload limit, branding, Sentry, reindex. - [Checks after install](https://layers.md/self-hosted/llms-full.txt#4-checks-after-install): curl checks for every service and UI checks. - [Troubleshooting](https://layers.md/self-hosted/llms-full.txt#5-troubleshooting): database password, CORS, uploads, calls without audio, editors, AI model. ## Layers - [Self-hosted page](https://layers.md/self-hosted): the same install with screenshots of a real server. ## Optional - [Docker Hub: hissih/layers](https://hub.docker.com/r/hissih/layers): the Layers server image. - [Layers site index](https://layers.md/llms.txt): all products.