-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
127 lines (117 loc) · 3.44 KB
/
docker-compose.yaml
File metadata and controls
127 lines (117 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#
# ! README - BEFORE YOU START !
# Make sure to replace `VIRTUAL_HOST: "example.com"` with your domain
# The first container is the NGINX Proxy which if you already have one make sure to remove this one and connect your network_mode
# See https://github.com/nginx-proxy/nginx-proxy/tree/main/docs#multiple-networks
#
# The path (volume) for the `config.yaml` expects the file to be in the same folder of your `docker-compose.yaml`
# ! Make sure to create the `config.yaml` file before starting the containers for the first time!
#
name: fivenet
services:
# NGINX reverse proxy
nginx-proxy:
image: docker.io/nginxproxy/nginx-proxy:1.10
container_name: nginx-proxy
environment: {}
ports:
- "80:80"
#- "443:443" # HTTPS/SSL requires additional setup https://github.com/nginx-proxy/nginx-proxy/tree/main/docs#ssl-support
networks:
- fivenet
restart: on-failure
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
# Traefik reverse proxy
# You must ensure that h2c mode is used in the Traefik configuration
# See https://doc.traefik.io/traefik/user-guides/grpc/#with-http-h2c
# Message Queue
nats:
container_name: nats
image: docker.io/library/nats:2.12.4-alpine3.22
command:
- --jetstream
# If you change the user/password, you must update the FiveNet's `config.yaml` (`.nats.url`) as well
- --user=fivenet
- --pass=fivenet_topsecret
# Only uncomment the ports section if you want to make NATS externally available
#ports:
# - "4222:4222"
# - "8222:8222"
# - "6222:6222"
networks:
- fivenet
restart: on-failure
# FiveNet Server
fivenet_server:
container_name: fivenet-server
image: ghcr.io/fivenet-app/fivenet:main
environment:
VIRTUAL_HOST: "example.com"
VIRTUAL_PORT: "8080"
VIRTUAL_PATH: "/"
command:
- server
#ports:
# - "7070:7070" # User for metrics only
# - "8080:8080" # Only needed when exposing FiveNet directly
networks:
- fivenet
restart: on-failure
volumes:
- fivenet:/data
- ./config.yaml:/config/config.yaml
# FiveNet Worker
fivenet_worker:
container_name: fivenet-worker
image: ghcr.io/fivenet-app/fivenet:main
command:
- worker
#ports:
# - "7072:7070" # User for metrics only
networks:
- fivenet
restart: on-failure
volumes:
- fivenet:/data
- ./config.yaml:/config/config.yaml
# FiveNet Discord bot
fivenet_discord:
container_name: fivenet-discord
image: ghcr.io/fivenet-app/fivenet:main
command:
- discord
#ports:
# - "7073:7070" # User for metrics only
networks:
- fivenet
restart: on-failure
volumes:
- fivenet:/data
- ./config.yaml:/config/config.yaml
# FiveNet DBSync
#fivenet_dbsync:
# container_name: fivenet-dbsync
# image: ghcr.io/fivenet-app/fivenet:main
# command:
# - dbsync
# - run
# #ports:
# # - "7074:7070" # User for metrics only
# networks:
# - fivenet
# restart: on-failure
# environment:
# FIVENET_STATEFILE: "/dbsync/dbsync_state.yaml"
# volumes:
# - fivenet:/data
# - fivenet_dbsync:/dbsync
# #
# # ! You must create the `dbsync.yaml` file in the same folder of your `docker-compose.yaml`
# # ! before starting the container for the first time!
# - ./dbsync.yaml:/config/dbsync.yaml
networks:
fivenet:
volumes:
fivenet:
fivenet_dbsync: