feat(docker): general cleanup of docker-compose

Changed every service to be prefixed by their "group":
- `app` is for the application services
- `mon` is for the monitoring side of things
- `log` is for the logs collection side of things

Renamed the main network to `app`
Moved around some comments in the file to clearly show different groups of services
This commit is contained in:
Maix0 2025-12-17 19:47:42 +01:00
parent 9b24bd0c41
commit 4627f37574

View file

@ -1,18 +1,15 @@
networks: networks:
transcendance-network: app:
driver: bridge driver: bridge
monitoring: monitoring:
driver: bridge driver: bridge
services: services:
###############
# USER #
###############
frontend: frontend:
build: ./frontend build: ./frontend
container_name: frontend container_name: app-frontend
restart: on-failure:3 restart: on-failure:3
networks: networks:
- transcendance-network - app
volumes: volumes:
- static-volume:/volumes/static - static-volume:/volumes/static
logging: logging:
@ -21,18 +18,12 @@ services:
gelf-address: "udp://127.0.0.1:12201" gelf-address: "udp://127.0.0.1:12201"
tag: "{{.Name}}" tag: "{{.Name}}"
#
# The "entry point" as in it does all of this:
# - serve files (images, static files, video)
# - redirect request to appropirate service (reverse proxy)
# - be the one that handles TLS/SSL (basically HTTPS)
# - other stuff I don't know yet
nginx: nginx:
build: ./nginx build: ./nginx
container_name: nginx container_name: app-nginx
restart: always restart: always
networks: networks:
- transcendance-network - app
- monitoring - monitoring
ports: ports:
- '8888:443' - '8888:443'
@ -49,20 +40,20 @@ services:
gelf-address: "udp://127.0.0.1:12201" gelf-address: "udp://127.0.0.1:12201"
tag: "{{.Name}}" tag: "{{.Name}}"
###############
# SERVICE #
###############
###############
# AUTH #
###############
auth: auth:
build: build:
context: ./src/ context: ./src/
args: args:
- SERVICE=auth - SERVICE=auth
- EXTRA_FILES=auth/extra - EXTRA_FILES=auth/extra
container_name: auth container_name: app-auth
restart: always restart: always
networks: networks:
- transcendance-network - app
volumes: volumes:
- sqlite-volume:/volumes/database - sqlite-volume:/volumes/database
- static-volume:/volumes/static - static-volume:/volumes/static
@ -76,19 +67,15 @@ services:
gelf-address: "udp://127.0.0.1:12201" gelf-address: "udp://127.0.0.1:12201"
tag: "{{.Name}}" tag: "{{.Name}}"
###############
# CHAT #
###############
chat: chat:
build: build:
context: ./src/ context: ./src/
args: args:
- SERVICE=chat - SERVICE=chat
- EXTRA_FILES=chat/extra container_name: app-chat
container_name: chat
restart: always restart: always
networks: networks:
- transcendance-network - app
volumes: volumes:
- sqlite-volume:/volumes/database - sqlite-volume:/volumes/database
- static-volume:/volumes/static - static-volume:/volumes/static
@ -103,18 +90,15 @@ services:
gelf-address: "udp://127.0.0.1:12201" gelf-address: "udp://127.0.0.1:12201"
tag: "{{.Name}}" tag: "{{.Name}}"
###############
# USER #
###############
user: user:
build: build:
context: ./src/ context: ./src/
args: args:
- SERVICE=user - SERVICE=user
container_name: user container_name: app-user
restart: always restart: always
networks: networks:
- transcendance-network - app
volumes: volumes:
- sqlite-volume:/volumes/database - sqlite-volume:/volumes/database
- static-volume:/volumes/static - static-volume:/volumes/static
@ -133,11 +117,11 @@ services:
############### ###############
grafana: grafana:
container_name: monitoring-grafana container_name: mon-grafana
image: grafana/grafana-enterprise image: grafana/grafana-enterprise
restart: always restart: always
networks: networks:
- transcendance-network - app
- monitoring - monitoring
depends_on: depends_on:
- prometheus - prometheus
@ -168,9 +152,9 @@ services:
prometheus: prometheus:
image: prom/prometheus:latest image: prom/prometheus:latest
container_name: monitoring-prometheus container_name: mon-prometheus
networks: networks:
- transcendance-network - app
- monitoring - monitoring
volumes: volumes:
- ./monitoring/prometheus:/etc/prometheus/ - ./monitoring/prometheus:/etc/prometheus/
@ -191,7 +175,7 @@ services:
image: gcr.io/cadvisor/cadvisor:latest image: gcr.io/cadvisor/cadvisor:latest
networks: networks:
- monitoring - monitoring
container_name: monitoring-cadvisor container_name: mon-cadvisor
command: command:
- '-url_base_prefix=/cadvisor' - '-url_base_prefix=/cadvisor'
environment: environment:
@ -210,9 +194,9 @@ services:
blackbox: blackbox:
image: prom/blackbox-exporter:latest image: prom/blackbox-exporter:latest
container_name: monitoring-blackbox container_name: mon-blackbox
networks: networks:
- transcendance-network - app
restart: unless-stopped restart: unless-stopped
logging: logging:
driver: gelf driver: gelf
@ -234,7 +218,7 @@ services:
elasticsearch: elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.23 image: docker.elastic.co/elasticsearch/elasticsearch:7.17.23
container_name: logs-elasticsearch container_name: log-elasticsearch
networks: networks:
- monitoring - monitoring
environment: environment:
@ -255,7 +239,7 @@ services:
logstash: logstash:
image: docker.elastic.co/logstash/logstash:7.17.23 image: docker.elastic.co/logstash/logstash:7.17.23
container_name: logs-logstash container_name: log-logstash
depends_on: depends_on:
- elasticsearch - elasticsearch
networks: networks:
@ -274,12 +258,12 @@ services:
kibana: kibana:
image: docker.elastic.co/kibana/kibana:7.17.23 image: docker.elastic.co/kibana/kibana:7.17.23
container_name: logs-kibana container_name: log-kibana
depends_on: depends_on:
- elasticsearch - elasticsearch
networks: networks:
- monitoring - monitoring
- transcendance-network - app
environment: environment:
- ELASTICSEARCH_HOSTS=http://elasticsearch:9200 - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
- SERVER_PUBLICBASEURL=https://local.maix.me:9090/kibana - SERVER_PUBLICBASEURL=https://local.maix.me:9090/kibana