Add compose files

This commit is contained in:
yuuki 2024-06-13 16:15:29 +00:00
commit c460db544a
9 changed files with 211 additions and 0 deletions

7
.gitignore vendored Normal file
View file

@ -0,0 +1,7 @@
/docker/traefik/acme
/docker/traefik/.env
/docker/taiko-web/mongo
/docker/taiko-web/redis
/docker/taiko-web/songs
/docker/litey/.env
/repo

View file

@ -0,0 +1,22 @@
services:
catmario:
container_name: catmario
image: nginx:1.25.5
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.catmario.priority=1000
- traefik.http.routers.catmario.rule=Host(`catmario.yuuk1.uk`)
- traefik.http.routers.catmario.tls=true
- traefik.http.routers.catmario.tls.certResolver=letsencrypt
- traefik.http.routers.catmario.service=catmario-routing-service
- traefik.http.services.catmario-routing-service.loadbalancer.server.port=80
volumes:
- ../../repo/catmario/docs:/usr/share/nginx/html
networks:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,20 @@
services:
eaglercraft:
image: nginx:1.25.5
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.r0.rule=Host(`eaglercraft.yuuk1.uk`)
- traefik.http.routers.r0.tls=true
- traefik.http.routers.r0.tls.certResolver=letsencrypt
- traefik.http.routers.r0.service=s0
- traefik.http.services.s0.loadbalancer.server.port=80
volumes:
- ../../repo/eaglercraft:/usr/share/nginx/html
networks:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,24 @@
services:
litey:
container_name: litey
build:
context: ../../repo/litey
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.litey.rule=Host(`litey.trade`)
- traefik.http.routers.litey.tls=true
- traefik.http.routers.litey.tls.certResolver=letsencrypt
- traefik.http.routers.litey.service=litey-routing-service
- traefik.http.services.litey-routing-service.loadbalancer.server.port=8000
environment:
- MONGO_URI=mongodb+srv://cluster0.xwewvby.mongodb.net/
- MONGO_USER=yuuki
- MONGO_PASSWORD=${MONGO_PASSWORD}
networks:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,20 @@
services:
space-cadet-pinball:
image: nginx:1.25.5
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.r2.rule=Host(`space-cadet-pinball.yuuk1.uk`)
- traefik.http.routers.r2.tls=true
- traefik.http.routers.r2.tls.certResolver=letsencrypt
- traefik.http.routers.r2.service=s2
- traefik.http.services.s2.loadbalancer.server.port=80
volumes:
- ../../repo/space-cadet-pinball:/usr/share/nginx/html
networks:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,19 @@
services:
stats:
build:
context: ../../repo/stats
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.r1.rule=Host(`yuuk1.tk`)
- traefik.http.routers.r1.tls=true
- traefik.http.routers.r1.tls.certResolver=letsencrypt
- traefik.http.routers.r1.service=s1
- traefik.http.services.s1.loadbalancer.server.port=8000
networks:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,21 @@
services:
twr:
container_name: twr
image: arbarwings/docker-web-redirect:latest
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.twr.rule=Host(`taiko-web-is-4ever.yuuk1.tk`) || Host(`taiko-web-v2.yuuk1.tk`)
- traefik.http.routers.twr.tls=true
- traefik.http.routers.twr.tls.certResolver=letsencrypt
- traefik.http.routers.twr.service=twr-routing-service
- traefik.http.services.twr-routing-service.loadbalancer.server.port=80
environment:
- REDIRECT_TARGET=taikoapp.uk
networks:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,43 @@
services:
taiko-web-mongo:
volumes:
- ./mongo:/data/db
container_name: taiko-mongo
image: mongo:latest
#networks:
#- default
taiko-web-redis:
volumes:
- ./redis:/data
image: redis:latest
#networks:
#- default
taiko-web:
volumes:
- ./songs:/app/public/songs
# debug
#ports:
#- 9999:8000
#container_name: taiko-web
build:
context: ../../repo/taiko-web
#image: taiko-web:latest
networks:
- default
- traefik
labels:
- traefik.enable=true
- traefik.http.routers.r3.rule=Host(`taikoapp.uk`)
- traefik.http.routers.r3.tls=true
- traefik.http.routers.r3.tls.certResolver=letsencrypt
- traefik.http.routers.r3.service=s3
- traefik.http.services.s3.loadbalancer.server.port=8000
environment:
- TAIKO_WEB_MONGO_HOST=taiko-web-mongo
- TAIKO_WEB_REDIS_HOST=taiko-web-redis
networks:
#default:
traefik:
external: true
name: traefik

View file

@ -0,0 +1,35 @@
services:
traefik:
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./acme:/acme
container_name: traefik
image: traefik:v3.0.1
networks:
- traefik
command:
- --log.level=TRACE
- --providers.docker=true
- --providers.docker.exposedByDefault=false
- --providers.docker.network=traefik
- --entryPoints.web.address=:80
- --entryPoints.web.http.redirections.entryPoint.to=websecure
- --entryPoints.websecure.address=:443
- --entryPoints.websecure.http.tls.certResolver=letsencrypt
- --certificatesResolvers.letsencrypt.acme.email=0xv75b42326631e@au.com
- --certificatesResolvers.letsencrypt.acme.httpChallenge.entrypoint=web
- --certificatesResolvers.letsencrypt.acme.storage=acme/acme.json
- --api.dashboard=true
labels:
- traefik.enable=true
- traefik.http.routers.dashboard.rule=Host(`traefik.yuuk1.uk`)
- traefik.http.routers.dashboard.tls=true
- traefik.http.routers.dashboard.tls.certResolver=letsencrypt
- traefik.http.routers.dashboard.service=api@internal
networks:
traefik:
name: traefik