From c460db544a13812f5d4ea98eaa3f6e0d00c81095 Mon Sep 17 00:00:00 2001 From: yuuki <> Date: Thu, 13 Jun 2024 16:15:29 +0000 Subject: [PATCH] Add compose files --- .gitignore | 7 +++ docker/catmario/docker-compose.yml | 22 ++++++++++ docker/eaglercraft/docker-compose.yml | 20 +++++++++ docker/litey/docker-compose.yml | 24 +++++++++++ docker/space-cadet-pinball/docker-compose.yml | 20 +++++++++ docker/stats/docker-compose.yml | 19 ++++++++ docker/taiko-web-redirect/docker-compose.yml | 21 +++++++++ docker/taiko-web/docker-compose.yml | 43 +++++++++++++++++++ docker/traefik/docker-compose.yml | 35 +++++++++++++++ 9 files changed, 211 insertions(+) create mode 100644 .gitignore create mode 100644 docker/catmario/docker-compose.yml create mode 100644 docker/eaglercraft/docker-compose.yml create mode 100644 docker/litey/docker-compose.yml create mode 100644 docker/space-cadet-pinball/docker-compose.yml create mode 100644 docker/stats/docker-compose.yml create mode 100644 docker/taiko-web-redirect/docker-compose.yml create mode 100644 docker/taiko-web/docker-compose.yml create mode 100644 docker/traefik/docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..41cf19b --- /dev/null +++ b/.gitignore @@ -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 diff --git a/docker/catmario/docker-compose.yml b/docker/catmario/docker-compose.yml new file mode 100644 index 0000000..eedbb06 --- /dev/null +++ b/docker/catmario/docker-compose.yml @@ -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 diff --git a/docker/eaglercraft/docker-compose.yml b/docker/eaglercraft/docker-compose.yml new file mode 100644 index 0000000..742b376 --- /dev/null +++ b/docker/eaglercraft/docker-compose.yml @@ -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 diff --git a/docker/litey/docker-compose.yml b/docker/litey/docker-compose.yml new file mode 100644 index 0000000..2db1ffb --- /dev/null +++ b/docker/litey/docker-compose.yml @@ -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 diff --git a/docker/space-cadet-pinball/docker-compose.yml b/docker/space-cadet-pinball/docker-compose.yml new file mode 100644 index 0000000..1d2e6d6 --- /dev/null +++ b/docker/space-cadet-pinball/docker-compose.yml @@ -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 diff --git a/docker/stats/docker-compose.yml b/docker/stats/docker-compose.yml new file mode 100644 index 0000000..7508ba8 --- /dev/null +++ b/docker/stats/docker-compose.yml @@ -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 diff --git a/docker/taiko-web-redirect/docker-compose.yml b/docker/taiko-web-redirect/docker-compose.yml new file mode 100644 index 0000000..4e9e71a --- /dev/null +++ b/docker/taiko-web-redirect/docker-compose.yml @@ -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 diff --git a/docker/taiko-web/docker-compose.yml b/docker/taiko-web/docker-compose.yml new file mode 100644 index 0000000..ff6c99b --- /dev/null +++ b/docker/taiko-web/docker-compose.yml @@ -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 diff --git a/docker/traefik/docker-compose.yml b/docker/traefik/docker-compose.yml new file mode 100644 index 0000000..c803ef4 --- /dev/null +++ b/docker/traefik/docker-compose.yml @@ -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