commit c5b775fa588db24e5a07cd8c24ab98c1991a3bf5 Author: phg Date: Wed Aug 27 22:16:12 2025 +0200 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..98f2bf8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,81 @@ +.env + +# General +.DS_Store +__MACOSX/ +.AppleDouble +.LSOverride +Icon[ +] + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# Metadata left by Dolphin file manager, which comes with KDE Plasma +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# Log files created by default by the nohup command +nohup.out + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets +!*.code-workspace + +# Built Visual Studio Code Extensions +*.vsix diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..16323c7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src"] + path = src + url = https://github.com/l2xu/betterbahn.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..935d16a --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# BetterBahn compose + +A docker compose for [BetterBahn](https://github.com/l2xu/betterbahn), +with traefik as Reverse Proxy. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..29e0b2a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +services: + betterbahn: + image: betterbahn:latest + build: + context: ./src + dockerfile: Dockerfile + labels: + - "traefik.enable=true" + - "traefik.http.routers.betterbahn.entrypoints=websecure" + - "traefik.http.routers.betterbahn.rule=Host(`${PUBLIC_DOMAIN}`)" + - "traefik.http.routers.betterbahn.tls=true" + - "traefik.http.routers.betterbahn.tls.certresolver=hetzner" + - "traefik.http.routers.betterbahn.tls.domains[0].main=${TLS_DOMAIN}" + - "traefik.http.routers.betterbahn.middlewares=secHeaders@file, autodetectContenttype@file, authentikProd@file" + - "traefik.http.services.betterbahn.loadbalancer.server.port=3000" # set port the container listenes to + - "traefik.http.services.betterbahn.loadbalancer.server.scheme=http" \ No newline at end of file diff --git a/src b/src new file mode 160000 index 0000000..50753fe --- /dev/null +++ b/src @@ -0,0 +1 @@ +Subproject commit 50753fe30070fe67397b62c5f5f860fbcbfdf1e1 diff --git a/template.env b/template.env new file mode 100644 index 0000000..2c1e29b --- /dev/null +++ b/template.env @@ -0,0 +1,2 @@ +PUBLIC_DOMAIN=betterbahn.s1q.dev +TLS_DOMAIN=*.s1q.dev \ No newline at end of file