-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
112 lines (104 loc) · 3.03 KB
/
docker-compose.yaml
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
#
# 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`
#
name: fivenet
services:
# NGINX reverse proxy
nginx-proxy:
image: docker.io/nginxproxy/nginx-proxy:1.6
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
# Message Queue
nats:
container_name: nats
image: docker.io/library/nats:2.10.22-alpine3.20
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:
- ./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:
- ./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:
- ./config.yaml:/config/config.yaml
# Iconify - Requires a reverse prox/"ingress controller" (e.g., jwilder/nginx-proxy, Traefik), that makes the Iconify container available under `/api/icons`
iconify:
container_name: iconify
image: docker.io/iconify/api:latest
environment:
VIRTUAL_HOST: "example.com"
VIRTUAL_PORT: "3000"
VIRTUAL_PATH: "/api/icons"
ICONIFY_SOURCE: "full"
REDIRECT_INDEX: "/about"
ALLOW_UPDATE: "false"
ENABLE_ICON_LISTS: "false"
ENABLE_SEARCH_ENGINE: "false"
#ports:
# - "3000:3000"
networks:
- fivenet
restart: on-failure
networks:
fivenet: