ft_transcendence/docker-compose.yml
Maieul BOYER 964fe908a6 feat(auth): Base auth with plugins
- Add fastify to protect routes plugins (requireAuth: true)
- Simple Demo to show regular password auth (no 2FA/OTP nor remote auth)
- Currently supports: login, logout, signin
- OTP workflow should work, not tested
- Fixed convention for docker volumes (now all placed in /volumes/<name>)
2025-09-01 15:47:07 +02:00

72 lines
1.7 KiB
YAML

networks:
transcendance-network:
driver: bridge
services:
#
# 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:
build: ./nginx
container_name: nginx
restart: always
networks:
- transcendance-network
ports:
- '8888:443'
volumes:
# if you need to share files with nginx, you do it here.
- static-volume:/volumes/static
- images-volume:/volumes/icons
environment:
# this can stay the same for developpement. This is an alias to `localhost`
- NGINX_DOMAIN=local.maix.me
###############
# ICONS #
###############
icons:
build:
context: ./src/
args:
- SERVICE=icons
#- EXTRA_FILES=icons/extra
container_name: icons
restart: always
networks:
- transcendance-network
volumes:
- images-volume:/volumes/store
- sqlite-volume:/volumes/database
environment:
- USER_ICONS_STORE=/volumes/store
- DATABASE_DIR=/volumes/database
###############
# AUTH #
###############
auth:
build:
context: ./src/
args:
- SERVICE=auth
- EXTRA_FILES=auth/extra
container_name: auth
restart: always
networks:
- transcendance-network
volumes:
- sqlite-volume:/volumes/database
- static-volume:/volumes/static
environment:
- JWT_SECRET=KRUGKIDROVUWG2ZAMJZG653OEBTG66BANJ2W24DTEBXXMZLSEB2GQZJANRQXU6JA
- DATABASE_DIR=/volumes/database
volumes:
images-volume:
sqlite-volume:
static-volume: