Skip to content

Commit 53fe789

Browse files
committed
feat: new docker-compose.yml example
1 parent 216e58c commit 53fe789

File tree

1 file changed

+133
-0
lines changed

1 file changed

+133
-0
lines changed

docker-compose-prod-full-with-cf.yml

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
services:
2+
remnawave-db:
3+
image: postgres:17
4+
container_name: 'remnawave-db'
5+
hostname: remnawave-db
6+
restart: always
7+
env_file:
8+
- .env
9+
environment:
10+
- POSTGRES_USER=${POSTGRES_USER}
11+
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
12+
- POSTGRES_DB=${POSTGRES_DB}
13+
- TZ=UTC
14+
ports:
15+
- '127.0.0.1:6767:5432'
16+
volumes:
17+
- remnawave-db-data:/var/lib/postgresql/data
18+
networks:
19+
- remnawave-network
20+
healthcheck:
21+
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}']
22+
interval: 3s
23+
timeout: 10s
24+
retries: 3
25+
logging:
26+
driver: 'json-file'
27+
options:
28+
max-size: '100m'
29+
max-file: '10'
30+
31+
remnawave-redis:
32+
image: valkey/valkey:8.0.2-alpine
33+
container_name: remnawave-redis
34+
hostname: remnawave-redis
35+
restart: always
36+
networks:
37+
- remnawave-network
38+
volumes:
39+
- remnawave-redis-data:/data
40+
logging:
41+
driver: 'json-file'
42+
options:
43+
max-size: '100m'
44+
max-file: '10'
45+
healthcheck:
46+
test: ['CMD', 'valkey-cli', 'ping']
47+
interval: 3s
48+
timeout: 10s
49+
retries: 3
50+
51+
remnawave:
52+
image: remnawave/backend:latest
53+
container_name: 'remnawave'
54+
hostname: remnawave
55+
restart: always
56+
ports:
57+
- '127.0.0.1:3000:3000'
58+
env_file:
59+
- .env
60+
networks:
61+
- remnawave-network
62+
depends_on:
63+
remnawave-db:
64+
condition: service_healthy
65+
remnawave-redis:
66+
condition: service_healthy
67+
logging:
68+
driver: 'json-file'
69+
options:
70+
max-size: '100m'
71+
max-file: '10'
72+
73+
remnawave-subscription-page:
74+
image: remnawave/subscription-page:latest
75+
container_name: remnawave-subscription-page
76+
hostname: remnawave-subscription-page
77+
restart: always
78+
environment:
79+
- REMNAWAVE_PANEL_URL=http://remnawave:3000
80+
- META_TITLE="Subscription page"
81+
- META_DESCRIPTION="Subscription page description"
82+
ports:
83+
- '127.0.0.1:3010:3010'
84+
networks:
85+
- remnawave-network
86+
depends_on:
87+
- remnawave
88+
logging:
89+
driver: 'json-file'
90+
options:
91+
max-size: '100m'
92+
max-file: '10'
93+
94+
remnawave-cloudflared:
95+
container_name: remnawave-cloudflared
96+
hostname: remnawave-cloudflared
97+
image: cloudflare/cloudflared:latest
98+
env_file:
99+
- .env
100+
networks:
101+
- remnawave-network
102+
restart: always
103+
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TOKEN}
104+
depends_on:
105+
- remnawave
106+
- remnawave-subscription-page
107+
logging:
108+
driver: 'json-file'
109+
options:
110+
max-size: '100m'
111+
max-file: '10'
112+
healthcheck:
113+
test: ['CMD', 'cloudflared', '--version']
114+
interval: 30s
115+
timeout: 10s
116+
retries: 3
117+
start_period: 10s
118+
119+
networks:
120+
remnawave-network:
121+
name: remnawave-network
122+
driver: bridge
123+
external: false
124+
125+
volumes:
126+
remnawave-db-data:
127+
driver: local
128+
external: false
129+
name: remnawave-db-data
130+
remnawave-redis-data:
131+
driver: local
132+
external: false
133+
name: remnawave-redis-data

0 commit comments

Comments
 (0)