From c0eb5689365d21b56c899b0bc162e988b39d191c Mon Sep 17 00:00:00 2001 From: Zhongheng Liu Date: Thu, 15 Oct 2026 14:44:38 +0200 Subject: [PATCH] defining basic file structure --- README.md | 4 +++ core/docker-compose.yml | 28 +++++++++++++++++ docker-compose.yml | 9 ++++++ domains/alphamill.gr/mail/docker-compose.yml | 31 +++++++++++++++++++ domains/stvnliu.me/caldav/docker-compose.yml | 0 domains/stvnliu.me/jupyter/docker-compose.yml | 0 domains/stvnliu.me/mc/docker-compose.yml | 18 +++++++++++ .../stvnliu.me/mc/drasl/docker-compose.yml | 14 +++++++++ .../stvnliu.me/paperless/docker-compose.yml | 0 domains/stvnliu.me/sso/docker-compose.yml | 0 domains/stvnliu.me/vault/docker-compose.yml | 14 +++++++++ 11 files changed, 118 insertions(+) create mode 100644 README.md create mode 100644 core/docker-compose.yml create mode 100644 docker-compose.yml create mode 100644 domains/alphamill.gr/mail/docker-compose.yml create mode 100644 domains/stvnliu.me/caldav/docker-compose.yml create mode 100644 domains/stvnliu.me/jupyter/docker-compose.yml create mode 100644 domains/stvnliu.me/mc/docker-compose.yml create mode 100644 domains/stvnliu.me/mc/drasl/docker-compose.yml create mode 100644 domains/stvnliu.me/paperless/docker-compose.yml create mode 100644 domains/stvnliu.me/sso/docker-compose.yml create mode 100644 domains/stvnliu.me/vault/docker-compose.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..39e076a --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# Renovating a server + +## Networks defined +- proxy: Handles all traffic through the traefik proxy diff --git a/core/docker-compose.yml b/core/docker-compose.yml new file mode 100644 index 0000000..d988d95 --- /dev/null +++ b/core/docker-compose.yml @@ -0,0 +1,28 @@ +# docker-compose.yml +services: + traefik: + container_name: traefik + image: traefik:v3.7 + command: + - "--api.insecure=true" + - "--providers.file.directory=/etc/traefik/apps" + - "--providers.file.watch=true" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--entrypoints.webseure.http.tls=true" + ports: + - "80:80" # Web HTTP services entrypoint + - "443:443" # Web HTTPS services entrypoint + - "25565:25565" # Minecraft service port + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + - ./certs:/certs:ro + - /srv/docker:/etc/traefik/apps:ro + networks: + - proxy_net + +networks: + auth_net: + driver: bridge + proxy_net: + driver: bridge diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e7f9d51 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +include: + # Traefik configuration + - ./core/docker-compose.yml + + # stvnliu.me project compose file + - ./domains/stvnliu.me/docker-compose.yml + + # alphamill.gr project compose file + - ./domains/alphamill.gr/docker-compose.yml diff --git a/domains/alphamill.gr/mail/docker-compose.yml b/domains/alphamill.gr/mail/docker-compose.yml new file mode 100644 index 0000000..ff1b033 --- /dev/null +++ b/domains/alphamill.gr/mail/docker-compose.yml @@ -0,0 +1,31 @@ +volumes: + rcm_alphamill_web: + rcm_alphamill_db: + +networks: + alphamill_net: + external: true + default_net: + external: true + +services: + webmail: + container_name: alphamill_webmail + volumes: + - rcm_alphamill_web:/var/www/html + - rcm_alphamill_db:/var/roundcube/db + networks: + - alphamill_net + - default_net + environment: + - ROUNDCUBEMAIL_DB_TYPE=sqlite + - ROUNDCUBEMAIL_SKIN=elastic + - ROUNDCUBEMAIL_DEFAULT_HOST=tls://imap.purelymail.com + - ROUNDCUBEMAIL_DEFAULT_PORT=993 + - ROUNDCUBEMAIL_SMTP_SERVER=tls://imap.purelymail.com + - ROUNDCUBEMAIL_SMTP_PORT=587 + - ROUNDCUBEMAIL_COMPOSER_PLUGINS=roundcube/carddav, johndoh/globaladdressbook + - ROUNDCUBEMAIL_PLUGINS=carddav, globaladdressbook + labels: + - traefik.enable=true + - traefik.http.routers.webmail.rule=Host(`webmail.alphamill.gr`) diff --git a/domains/stvnliu.me/caldav/docker-compose.yml b/domains/stvnliu.me/caldav/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/domains/stvnliu.me/jupyter/docker-compose.yml b/domains/stvnliu.me/jupyter/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/domains/stvnliu.me/mc/docker-compose.yml b/domains/stvnliu.me/mc/docker-compose.yml new file mode 100644 index 0000000..6002c00 --- /dev/null +++ b/domains/stvnliu.me/mc/docker-compose.yml @@ -0,0 +1,18 @@ +includes: + - path: ./drasl/docker-compose.yml +services: + minecraft: + image: itzg/minecraft-server:latest + pull_policy: daily + tty: true + stdin_open: true + networks: + - minecraft_net + - default_net + environment: + EULA: "TRUE" + VERSION: 26.3 + TYPE: PAPER + JVM_OPTS: "-Dminecraft.api.env=custom -Dminecraft.api.auth.host=https://drasl.stvnliu.me/auth -Dminecraft.api.account.host=https://drasl.stvnliu.me/account -Dminecraft.api.profiles.host=https://drasl.stvnliu.me/account -Dminecraft.api.session.host=https://drasl.stvnliu.me/session -Dminecraft.api.services.host=https://drasl.stvnliu.me/services -Dminecraft.api.discovery.host=https://drasl.stvnliu.me/discovery/minecraft/client" + volumes: + - ./data:/data diff --git a/domains/stvnliu.me/mc/drasl/docker-compose.yml b/domains/stvnliu.me/mc/drasl/docker-compose.yml new file mode 100644 index 0000000..6b43eb0 --- /dev/null +++ b/domains/stvnliu.me/mc/drasl/docker-compose.yml @@ -0,0 +1,14 @@ +networks: + default_net: + - external: true + minecraft_net: + - external: true +services: + drasl: + image: unmojang/drasl + networks: + - default_net + - minecraft_net + volumes: + - ./config:/etc/drasl + - ./data: /var/lib/drasl diff --git a/domains/stvnliu.me/paperless/docker-compose.yml b/domains/stvnliu.me/paperless/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/domains/stvnliu.me/sso/docker-compose.yml b/domains/stvnliu.me/sso/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/domains/stvnliu.me/vault/docker-compose.yml b/domains/stvnliu.me/vault/docker-compose.yml new file mode 100644 index 0000000..2ffee3c --- /dev/null +++ b/domains/stvnliu.me/vault/docker-compose.yml @@ -0,0 +1,14 @@ +networks: + default_net: + external: true +services: + vaultwarden: + image: vaultwarden/server:latest + container_name: vaultwarden + restart: unless-stopped + environment: + DOMAIN: "https://vw.stvnliu.me" + volumes: + - ./data:/data/ + networks: + - default_net