Quick start
Installation​
Remnawave consists of two parts:
- Main panel (aka backend)
- Node (with XRay Core inside)
You can install both parts on the same machine or separate machines.
Minimum requirements for Backend:
- 2GB of RAM
- 2 CPU cores
- Docker Engine
Minimum requirements for Node:
- 1GB of RAM
- 1 CPU core
- Docker Engine
Configuration​
First of all, you need to configure the environment variables.
You can find the list of all environment variables in the Environment Variables page.
Be sure to change the default credentials in the environment variables.
Installation​
Main Panel​
This guide written for Ubuntu 22.04, instructions may vary for other distributions.
- Create separate directory for the project.
mkdir remnawave && cd remnawave
- Download and configure the environment variables.
curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sample
- Configure the environment variables.
nano .env
- Create
docker-compose.yml
file, example below.
Do not expose the services to the public internet, use only 127.0.0.1
for Remnawave services.
You must use Nginx/Caddy/Apache/etc. to expose the services to the public internet.
This guide does not cover the configuration of the reverse proxy, but just a bit later we will use Cloudflare Tunnel to expose the services to the public internet.
services:
remnawave-db:
image: postgres:17
container_name: 'remnawave-db'
hostname: remnawave-db
restart: always
env_file:
- .env
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- TZ=UTC
ports:
- '127.0.0.1:6767:5432'
volumes:
- remnawave-db-data:/var/lib/postgresql/data
networks:
- remnawave-network
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}']
interval: 3s
timeout: 10s
retries: 3
remnawave:
image: remnawave/backend:latest
container_name: 'remnawave'
hostname: remnawave
restart: always
ports:
- '127.0.0.1:3000:3000'
env_file:
- .env
networks:
- remnawave-network
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: false
volumes:
remnawave-db-data:
driver: local
external: false
name: remnawave-db-data
- Run containers.
docker compose up -d
- Check the logs.
docker compose logs -f
- Remnawave is now running on
http://127.0.0.1:3000
.
Now we are ready to move on the Reverse Proxy installation.