envs/prod: добавлены compose файлы и шаблон .env

This commit is contained in:
2026-04-04 17:32:42 +00:00
parent e5d15a851b
commit 8ddfa35f21
5 changed files with 215 additions and 0 deletions

10
envs/prod/.env.example Normal file
View File

@@ -0,0 +1,10 @@
# remnawave
APP_PORT=3000
METRICS_PORT=3001
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
# добавь остальные ключи из своего .env
# gitea
GITEA_DB_PASSWORD=

28
envs/prod/Caddyfile Normal file
View File

@@ -0,0 +1,28 @@
{
email krokk50@gmail.com
}
zonadobra.luntik.org {
reverse_proxy remnawave:3000
handle /remnawave-webhook {
reverse_proxy hooks.luntik.org:8080 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
transport http {
read_timeout 120s
write_timeout 120s
}
}
}
}
sub.leamvpn.com {
reverse_proxy remnawave-subscription-page:3010
}
git.luntik.org {
reverse_proxy gitea:3002
}

View File

@@ -0,0 +1,27 @@
services:
remnawave-caddy:
image: caddy:2-alpine
container_name: remnawave-caddy
hostname: remnawave-caddy
restart: always
ports:
- "0.0.0.0:443:443"
- "0.0.0.0:80:80"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
networks:
- remnawave-network
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: true
volumes:
caddy-data:
name: caddy-data
caddy-config:
name: caddy-config

View File

@@ -0,0 +1,60 @@
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
hostname: gitea
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=gitea-db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=${GITEA_DB_PASSWORD}
- GITEA__server__DOMAIN=git.luntik.org
- GITEA__server__ROOT_URL=https://git.luntik.org
- GITEA__server__HTTP_PORT=3002
- GITEA__server__SSH_DOMAIN=git.luntik.org
- GITEA__server__SSH_PORT=2222
- GITEA__server__SSH_LISTEN_PORT=22
- GITEA__service__DISABLE_REGISTRATION=true
volumes:
- ./data:/data
ports:
- "127.0.0.1:3002:3002"
- "0.0.0.0:2222:22"
depends_on:
gitea-db:
condition: service_healthy
networks:
- gitea-network
- remnawave-network
gitea-db:
image: postgres:17-alpine
container_name: gitea-db
hostname: gitea-db
restart: unless-stopped
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=${GITEA_DB_PASSWORD}
- POSTGRES_DB=gitea
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U gitea -d gitea']
interval: 3s
timeout: 10s
retries: 3
networks:
- gitea-network
networks:
gitea-network:
driver: bridge
remnawave-network:
name: remnawave-network
driver: bridge
external: true

View File

@@ -0,0 +1,90 @@
x-common: &common
ulimits:
nofile:
soft: 1048576
hard: 1048576
restart: always
networks:
- remnawave-network
x-logging: &logging
logging:
driver: json-file
options:
max-size: 100m
max-file: 5
x-env: &env
env_file: .env
services:
remnawave:
image: remnawave/backend:2
volumes:
- ./notifications-config.yml:/var/lib/remnawave/configs/notifications/notifications-config.yml:ro
container_name: remnawave
hostname: remnawave
<<: [*common, *logging, *env]
ports:
- 127.0.0.1:3000:${APP_PORT:-3000}
- 127.0.0.1:3001:${METRICS_PORT:-3001}
healthcheck:
test: ['CMD-SHELL', 'curl -f http://localhost:${METRICS_PORT:-3001}/health']
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
depends_on:
remnawave-db:
condition: service_healthy
remnawave-redis:
condition: service_healthy
remnawave-db:
image: postgres:17.6
container_name: remnawave-db
hostname: remnawave-db
<<: [*common, *logging, *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
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}']
interval: 3s
timeout: 10s
retries: 3
remnawave-redis:
image: valkey/valkey:8.1-alpine
container_name: remnawave-redis
hostname: remnawave-redis
<<: [*common, *logging]
command: >
valkey-server
--save ""
--appendonly no
--maxmemory-policy noeviction
--loglevel warning
healthcheck:
test: ['CMD', 'valkey-cli', 'ping']
interval: 3s
timeout: 3s
retries: 3
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: false
volumes:
remnawave-db-data:
name: remnawave-db-data
driver: local
external: false