envs/prod: добавлены compose файлы и шаблон .env
This commit is contained in:
10
envs/prod/.env.example
Normal file
10
envs/prod/.env.example
Normal 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
28
envs/prod/Caddyfile
Normal 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
|
||||||
|
}
|
||||||
27
envs/prod/docker-compose.caddy.yml
Normal file
27
envs/prod/docker-compose.caddy.yml
Normal 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
|
||||||
60
envs/prod/docker-compose.gitea.yml
Normal file
60
envs/prod/docker-compose.gitea.yml
Normal 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
|
||||||
|
|
||||||
90
envs/prod/docker-compose.remnawave.yml
Normal file
90
envs/prod/docker-compose.remnawave.yml
Normal 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
|
||||||
Reference in New Issue
Block a user