Skip to content

Server requirements ​

Hardware ​

Numbers assume the bot, the web panel and PostgreSQL on one server.

Up to 1,000 users1,000–5,0005,000–20,00020,000+
CPU2 vCPU4 vCPU8 vCPU8–16 vCPU
RAM4 GB8 GB16+ GB32+ GB
Disk40 GB SSD80 GB SSD240 GB NVMe240+ GB NVMe
PostgreSQLdefaultstuning advisedtuning requireddedicated server

The Node Agent takes about 50 MB of RAM on each node.

When to change what

Past 5,000 users, plug in MaxMind GeoIP — a local database instead of calls to ip-api.com. Past 20,000, move PostgreSQL to its own server.

Software ​

  • Docker and Docker Compose
  • PostgreSQL 15+ (comes up inside compose)
  • A Remnawave panel with the API enabled

Images are built for both linux/amd64 and linux/arm64.

Get these ready ​

WhatWhere from
Telegram bot token@BotFather → /newbot
Remnawave API tokenPanel → Settings → API
Your Telegram ID@userinfobot replies with the numeric ID
Two A recordsone for the web panel, one for the bot webhook

Ports ​

PortListenerExposed
3000web panel frontendbehind a reverse proxy
8081web panel backendbehind a reverse proxy
8080bot webhook serverbehind a reverse proxy
2525inbound mail, if the mail server is onpublished as 25
587SMTP submissionif needed

Nothing needs to be exposed directly: the panel expects to sit behind Caddy or nginx.

AGPL-3.0 with a plugin exception