mirror of
https://github.com/bensuperpc/infrastructure.git
synced 2026-05-17 17:24:39 +02:00
clean old ssh config, split network, improve caddy config
This commit is contained in:
@@ -24,8 +24,8 @@
|
||||
|
||||
PROJECT_DIRECTORY := infrastructure
|
||||
CONFIG_DIRECTORY := presets
|
||||
# 7dtd minecraft satisfactory
|
||||
CONFIGS := minecraft satisfactory
|
||||
# 7dtd minecraft satisfactory torrent
|
||||
CONFIGS := torrent
|
||||
#DOCKER_PROFILES :=
|
||||
|
||||
include DockerCompose.mk
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Infrastructure
|
||||
|
||||
_Open source, decentralized and self-hosted infrastructure for many services._
|
||||
_Open source, decentralized and self-hosted infrastructure for many local services._
|
||||
|
||||
## About
|
||||
|
||||
@@ -12,19 +12,25 @@ If you have any **questions** or **suggestions**, feel free to open an issue or
|
||||
|
||||
- [x] caddy 2 HTTP/S reverse proxy
|
||||
- [x] Docker / docker-compose
|
||||
- [x] Wordpress (Via FASTCGI/caddy)
|
||||
- [x] Jellyfin (Media server)
|
||||
- [x] Homepage (Dashboard)
|
||||
- [x] Jellyfin (Eg Netflix, Disney+)
|
||||
- [x] Forgejo (Git server, fork of Gitea)
|
||||
- [x] Uptime Kuma (Monitoring)
|
||||
- [x] Argus (Application update monitoring)
|
||||
- [x] qbittorrent and transmission (Torrent client/server)
|
||||
- [x] SyncThing (File synchronization)
|
||||
- [x] Dufs (File server)
|
||||
- [x] PsiTransfer, ProjectSend, Picoshare (File sharing)
|
||||
- [x] it-tools and omni-tools (Tools for IT)
|
||||
- [x] Open-WebUI (Local chatGPT)
|
||||
- [x] it-tools, omni-tools and cyberchef (Tools for IT)
|
||||
- [x] Open-WebUI + Ollama (Local chatGPT)
|
||||
- [x] Privatebin (Pastebin)
|
||||
- [X] [Satisfactory](https://github.com/bensuperpc/docker-satisfactory)
|
||||
- [x] [7 days to die](https://github.com/bensuperpc/docker-7daystodie)
|
||||
- [x] [minecraft](https://github.com/bensuperpc/docker-minecraft-server)
|
||||
- [x] Memos (Note-taking)
|
||||
- [x] Stirling PDF (PDF tools)
|
||||
- [x] Wordpress (Via FASTCGI/caddy)
|
||||
- [X] Satisfactory
|
||||
- [x] 7 days to die
|
||||
- [x] Minecraft
|
||||
- [x] Team Fortress 2
|
||||
|
||||
## Architecture
|
||||
|
||||
@@ -45,7 +51,7 @@ The homepage is a dashboard with many widgets and services.
|
||||
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
||||
- [Web domain](https://www.ovh.com/world/domains/) (I use OVH)
|
||||
- [Open port 80, 443, 22, 2222 and 5555 on your router](http://192.168.1.1/)
|
||||
- For games server, you need to open these ports (7777, 25565, 26900, 26901, 26903)
|
||||
- For games server, you need to open these ports (7777, 8888, 25565, 26900, 26901, 26903)
|
||||
|
||||
List of ports used by the services in this infrastructure:
|
||||
|
||||
@@ -56,10 +62,13 @@ List of ports used by the services in this infrastructure:
|
||||
| 22 | Forgejo | Git/SSH access |
|
||||
| 2222 | OpenSSH | Global SSH access |
|
||||
| 7777 | Satisfactory | Game server port |
|
||||
| 8888 | Satisfactory | Game server port |
|
||||
| 25565 | Minecraft | Game server port |
|
||||
| 8100 | Bluemap Minecraft | Web map port |
|
||||
| 26900 | 7 Days to Die | Game server port |
|
||||
| 26901 | 7 Days to Die | Game server port |
|
||||
| 26903 | 7 Days to Die | Game server port |
|
||||
| 27015 | Team Fortress 2 | Game server port |
|
||||
|
||||
|
||||
**To avoid get rate limit from letsencrypt (10 certificates per 3 hours), you need to disable some certificates in the caddyfiles and enable them 3h later...**
|
||||
@@ -113,8 +122,9 @@ And then, caddy will generate the certificate for you and renew it automatically
|
||||
| [projectsend.bensuperpc.org](https://projectsend.bensuperpc.org) | Sub | ProjectSend for file sharing |
|
||||
| [picoshare.bensuperpc.org](https://picoshare.bensuperpc.org) | Sub | Picoshare for file sharing |
|
||||
| [dufs.bensuperpc.org](https://dufs.bensuperpc.org) | Sub | Dufs for file sharing |
|
||||
| [memos.bensuperpc.org](https://memos.bensuperpc.org) | Sub | Caddy for file sharing |
|
||||
| [memos.bensuperpc.org](https://memos.bensuperpc.org) | Sub | Memos note-taking app |
|
||||
| [stirlingpdf.bensuperpc.org](https://stirlingpdf.bensuperpc.org) | Sub | Stirling PDF tools |
|
||||
| [argus.bensuperpc.org](https://argus.bensuperpc.org) | Sub | Argus for monitoring application updates |
|
||||
|
||||
### Configure the infrastructure
|
||||
|
||||
@@ -236,10 +246,10 @@ docker exec -it ollama ollama run deepseek-r1:8b
|
||||
Start the website with:
|
||||
|
||||
```sh
|
||||
make start-at
|
||||
make start-detached
|
||||
```
|
||||
|
||||
Stop the website with (or CTRL+C with the previous command):
|
||||
Stop the website with:
|
||||
|
||||
```sh
|
||||
make stop
|
||||
@@ -274,7 +284,7 @@ Once the installation is complete, you need to set the installation lock:
|
||||
FORGEJO__security__INSTALL_LOCK=true
|
||||
```
|
||||
|
||||
### Forgejo Runner
|
||||
### Forgejo Runner (Out of date)
|
||||
|
||||
```sh
|
||||
docker exec -it forgejo_runner /bin/bash
|
||||
@@ -374,6 +384,8 @@ To activate the alternative webui theme (VueTorrent), you need to go in the qbit
|
||||
- [Forgejo-runner](https://code.forgejo.org/forgejo/runner)
|
||||
- [Forgejo-runner](https://huijzer.xyz/posts/55)
|
||||
- [Forgejo](https://nickcunningh.am/blog/how-to-setup-and-configure-forgejo-with-support-for-forgejo-actions-and-more)
|
||||
- [Argus](https://github.com/release-argus/Argus)
|
||||
- [Forgejo-runner](https://huijzer.xyz/posts/55)
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ include:
|
||||
- services/uptime-kuma/docker-compose.uptime-kuma.yml
|
||||
# open-webui
|
||||
- services/open-webui/docker-compose.open-webui.yml
|
||||
# Memos
|
||||
- services/memos/docker-compose.memos.yml
|
||||
# Argus
|
||||
- services/argus/docker-compose.argus.yml
|
||||
# Minecraft
|
||||
|
||||
@@ -19,7 +19,7 @@ services:
|
||||
- 7daystodie_server_file:/home/sdtdserver/serverfiles # Optional - serverfiles folder
|
||||
- 7daystodie_server_log:/home/sdtdserver/log
|
||||
networks:
|
||||
- infra-network
|
||||
- 7daystodie-network
|
||||
env_file:
|
||||
- ./env/7daystodie.env
|
||||
environment:
|
||||
@@ -49,6 +49,7 @@ volumes:
|
||||
name: 7daystodie_server_log
|
||||
|
||||
networks:
|
||||
infra-network:
|
||||
7daystodie-network:
|
||||
driver: bridge
|
||||
name: infra-network
|
||||
name: 7daystodie-network
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- argus-network
|
||||
volumes:
|
||||
- argus_data:/app/data/
|
||||
- ./config/config.yml:/app/config.yml
|
||||
@@ -25,4 +25,9 @@ services:
|
||||
|
||||
volumes:
|
||||
argus_data:
|
||||
name: argus_data
|
||||
name: argus_data
|
||||
|
||||
networks:
|
||||
argus-network:
|
||||
driver: bridge
|
||||
name: argus-network
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
argus.{$MAIN_DOMAIN} {
|
||||
reverse_proxy argus:8080
|
||||
reverse_proxy {$ARGUS_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
git.{$MAIN_DOMAIN} {
|
||||
reverse_proxy forgejo:3000
|
||||
reverse_proxy {$FORGEJO_ADDRESS}
|
||||
}
|
||||
|
||||
forgejo.{$MAIN_DOMAIN} {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
homepage.{$MAIN_DOMAIN} {
|
||||
reverse_proxy homepage:3000
|
||||
reverse_proxy {$HOMEPAGE_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
jellyfin.{$MAIN_DOMAIN} {
|
||||
reverse_proxy jellyfin:8096
|
||||
reverse_proxy {$JELLYFIN_ADDRESS}
|
||||
header {
|
||||
import header_common
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
memos.{$MAIN_DOMAIN} {
|
||||
reverse_proxy memos:5230
|
||||
reverse_proxy {$MEMOS_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
open-webui.{$MAIN_DOMAIN} {
|
||||
reverse_proxy open-webui:8080
|
||||
reverse_proxy {$OPEN_WEBUI_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
picoshare.{$MAIN_DOMAIN} {
|
||||
reverse_proxy picoshare:4001
|
||||
reverse_proxy {$PICOSHARE_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
privatebin.{$MAIN_DOMAIN} {
|
||||
reverse_proxy privatebin:8080
|
||||
reverse_proxy {$PRIVATEBIN_ADDRESS}
|
||||
}
|
||||
|
||||
pastebin.{$MAIN_DOMAIN} {
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
projectsend.{$MAIN_DOMAIN} {
|
||||
reverse_proxy projectsend:80
|
||||
reverse_proxy {$PROJECTSEND_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
transfer.{$MAIN_DOMAIN} {
|
||||
reverse_proxy psitransfer:3000
|
||||
reverse_proxy {$PSITRANSFER_ADDRESS}
|
||||
}
|
||||
|
||||
psitransfer.{$MAIN_DOMAIN} {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
torrent.{$MAIN_DOMAIN} {
|
||||
reverse_proxy qbittorrent:8080
|
||||
reverse_proxy {$QBITTORRENT_ADDRESS}
|
||||
header {
|
||||
Cache-Control "no-store"
|
||||
import header_common
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
stirlingpdf.{$MAIN_DOMAIN} {
|
||||
reverse_proxy stirlingpdf:8080
|
||||
reverse_proxy {$STIRLINGPDF_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
syncthing.{$MAIN_DOMAIN} {
|
||||
reverse_proxy syncthing:8384 {
|
||||
reverse_proxy {$SYNCTHING_ADDRESS} {
|
||||
header_up Host {upstream_hostport}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
transmission.{$MAIN_DOMAIN} {
|
||||
reverse_proxy transmission:9091
|
||||
reverse_proxy {$TRANSMISSION_ADDRESS}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
uptimekuma.{$MAIN_DOMAIN} {
|
||||
reverse_proxy uptime-kuma:3001
|
||||
reverse_proxy {$UPTIMEKUMA_ADDRESS}
|
||||
header {
|
||||
Cache-Control "no-store"
|
||||
import header_common
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
wordpress.{$MAIN_DOMAIN} {
|
||||
root * /var/www/html
|
||||
php_fastcgi wordpress:9000
|
||||
php_fastcgi {$WORDPRESS_ADDRESS}
|
||||
|
||||
file_server
|
||||
encode zstd gzip
|
||||
|
||||
@@ -23,7 +23,30 @@ services:
|
||||
- public_data:/public_data:ro
|
||||
|
||||
networks:
|
||||
- infra-network
|
||||
- qbittorrent-network
|
||||
- syncthing-network
|
||||
- jellyfin-network
|
||||
- forgejo-network
|
||||
- argus-network
|
||||
- it-tools-network
|
||||
- homepage-network
|
||||
- dufs-network
|
||||
- cyberchef-network
|
||||
- open-webui-network
|
||||
- uptimekuma-network
|
||||
- stirlingpdf-network
|
||||
- psitransfer-network
|
||||
- transmission-network
|
||||
- projectsend-network
|
||||
- omni-tools-network
|
||||
- privatebin-network
|
||||
- picoshare-network
|
||||
- memos-network
|
||||
# - satisfactory-network
|
||||
# - teamfortress2-network
|
||||
# - minecraft-network
|
||||
# - 7daystodie-network
|
||||
# - openssh-network
|
||||
env_file:
|
||||
- ./env/caddy.env
|
||||
security_opt:
|
||||
|
||||
+17
@@ -1,2 +1,19 @@
|
||||
MAIN_DOMAIN=bensuperpc.org
|
||||
MAIL_DOMAIN=bensuperpc@gmail.com
|
||||
# Services
|
||||
JELLYFIN_ADDRESS=jellyfin:8096
|
||||
QBITTORRENT_ADDRESS=qbittorrent:8080
|
||||
ARGUS_ADDRESS=argus:8080
|
||||
FORGEJO_ADDRESS=forgejo:3000
|
||||
UPTIMEKUMA_ADDRESS=uptime-kuma:3001
|
||||
MEMOS_ADDRESS=memos:5230
|
||||
HOMEPAGE_ADDRESS=homepage:3000
|
||||
OPEN_WEBUI_ADDRESS=open-webui:8080
|
||||
PICOSHARE_ADDRESS=picoshare:4001
|
||||
PRIVATEBIN_ADDRESS=privatebin:8080
|
||||
PROJECTSEND_ADDRESS=projectsend:80
|
||||
STIRLINGPDF_ADDRESS=stirlingpdf:8080
|
||||
SYNCTHING_ADDRESS=syncthing:8384
|
||||
TRANSMISSION_ADDRESS=transmission:9091
|
||||
PSITRANSFER_ADDRESS=psitransfer:3000
|
||||
WORDPRESS_ADDRESS=wordpress:9000
|
||||
|
||||
@@ -9,7 +9,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- cyberchef-network
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -34,7 +34,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- cyberchef-network
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -49,3 +49,8 @@ services:
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
networks:
|
||||
cyberchef-network:
|
||||
driver: bridge
|
||||
name: cyberchef-network
|
||||
|
||||
@@ -14,7 +14,7 @@ services:
|
||||
volumes:
|
||||
- public_data:/data
|
||||
networks:
|
||||
- infra-network
|
||||
- dufs-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -22,4 +22,9 @@ volumes:
|
||||
public_data:
|
||||
name: public_data
|
||||
private_data:
|
||||
name: private_data
|
||||
name: private_data
|
||||
|
||||
networks:
|
||||
dufs-network:
|
||||
driver: bridge
|
||||
name: dufs-network
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
# forgejo
|
||||
forgejo:
|
||||
image: codeberg.org/forgejo/forgejo:13
|
||||
image: codeberg.org/forgejo/forgejo:15
|
||||
container_name: forgejo
|
||||
profiles:
|
||||
- forgejo
|
||||
@@ -18,7 +18,7 @@ services:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
- infra-network
|
||||
- forgejo-network
|
||||
# user: ${PUID:-1000}:${PGID:-1000}
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -38,7 +38,7 @@ services:
|
||||
- ./env/forgejo_db.env
|
||||
command: '--default-authentication-plugin=mysql_native_password'
|
||||
networks:
|
||||
- infra-network
|
||||
- forgejo-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -48,7 +48,7 @@ services:
|
||||
container_name: 'docker_dind'
|
||||
hostname: docker
|
||||
networks:
|
||||
- infra-network
|
||||
- forgejo-network
|
||||
profiles:
|
||||
- forgejo-runner
|
||||
privileged: true
|
||||
@@ -61,11 +61,9 @@ services:
|
||||
forgejo_runner:
|
||||
image: data.forgejo.org/forgejo/runner:12
|
||||
networks:
|
||||
- infra-network
|
||||
- forgejo-network
|
||||
profiles:
|
||||
- forgejo-runner
|
||||
links:
|
||||
- docker-in-docker
|
||||
depends_on:
|
||||
docker-in-docker:
|
||||
condition: service_started
|
||||
@@ -91,3 +89,8 @@ volumes:
|
||||
name: forgejo_certs
|
||||
forgejo_runner:
|
||||
name: forgejo_runner
|
||||
|
||||
networks:
|
||||
forgejo-network:
|
||||
driver: bridge
|
||||
name: forgejo-network
|
||||
|
||||
@@ -8,68 +8,68 @@
|
||||
href: https://wordpress.bensuperpc.org/
|
||||
description: Wordpress
|
||||
ping: wordpress.bensuperpc.org
|
||||
container: wordpress
|
||||
# container: wordpress
|
||||
- jellyfin:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/jellyfin.png
|
||||
href: https://jellyfin.bensuperpc.org/
|
||||
description: Jellyfin
|
||||
ping: jellyfin.bensuperpc.org
|
||||
container: jellyfin
|
||||
# container: jellyfin
|
||||
- projectsend:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/projectsend.png
|
||||
href: https://projectsend.bensuperpc.org/
|
||||
description: ProjectSend
|
||||
ping: projectsend.bensuperpc.org
|
||||
container: projectsend
|
||||
# container: projectsend
|
||||
- Sharing:
|
||||
- psitransfer:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/psitransfer.png
|
||||
href: https://psitransfer.bensuperpc.org/
|
||||
description: PsiTransfer
|
||||
ping: psitransfer.bensuperpc.org
|
||||
container: psitransfer
|
||||
# container: psitransfer
|
||||
- picoshare:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/picoshare.png
|
||||
href: https://picoshare.bensuperpc.org/
|
||||
description: PicoShare
|
||||
ping: picoshare.bensuperpc.org
|
||||
container: picoshare
|
||||
# container: picoshare
|
||||
- privatebin:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/privatebin.png
|
||||
href: https://privatebin.bensuperpc.org/
|
||||
description: PrivateBin
|
||||
ping: privatebin.bensuperpc.org
|
||||
container: privatebin
|
||||
# container: privatebin
|
||||
- qbittorrent:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/qbittorrent.png
|
||||
href: https://qbittorrent.bensuperpc.org/
|
||||
description: qBittorrent
|
||||
ping: qbittorrent.bensuperpc.org
|
||||
container: qbittorrent
|
||||
# container: qbittorrent
|
||||
- syncthing:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/syncthing.png
|
||||
href: https://syncthing.bensuperpc.org/
|
||||
description: Syncthing
|
||||
ping: syncthing.bensuperpc.org
|
||||
container: syncthing
|
||||
# container: syncthing
|
||||
- transmission:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/transmission.png
|
||||
href: https://transmission.bensuperpc.org/
|
||||
description: Transmission
|
||||
ping: transmission.bensuperpc.org
|
||||
container: transmission
|
||||
# container: transmission
|
||||
- dufs:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/dufs.png
|
||||
href: https://dufs.bensuperpc.org/
|
||||
description: Dufs
|
||||
ping: dufs.bensuperpc.org
|
||||
container: dufs
|
||||
# container: dufs
|
||||
# - caddy:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/caddy.png
|
||||
# href: https://public.bensuperpc.org/
|
||||
# description: File browser
|
||||
# ping: public.bensuperpc.org
|
||||
# container: caddy
|
||||
# # container: caddy
|
||||
|
||||
- Utils:
|
||||
- it-tools:
|
||||
@@ -77,37 +77,37 @@
|
||||
href: https://it-tools.bensuperpc.org/
|
||||
description: IT Tools
|
||||
ping: it-tools.bensuperpc.org
|
||||
container: it-tools0
|
||||
# container: it-tools0
|
||||
- omni-tools:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/it-tools.png
|
||||
href: https://omni-tools.bensuperpc.org/
|
||||
description: Omni Tools
|
||||
ping: omni-tools.bensuperpc.org
|
||||
container: omni-tools0
|
||||
# container: omni-tools0
|
||||
- cyberchef:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/cyberchef.png
|
||||
href: https://cyberchef.bensuperpc.org/
|
||||
description: CyberChef
|
||||
ping: cyberchef.bensuperpc.org
|
||||
container: cyberchef0
|
||||
# container: cyberchef0
|
||||
- stirlingpdf:
|
||||
#icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/stirlingpdf.png
|
||||
href: https://stirlingpdf.bensuperpc.org/
|
||||
description: StirlingPDF
|
||||
ping: stirlingpdf.bensuperpc.org
|
||||
container: stirlingpdf
|
||||
# container: stirlingpdf
|
||||
- forgejo:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/forgejo.png
|
||||
href: https://forgejo.bensuperpc.org/
|
||||
description: Forgejo
|
||||
ping: forgejo.bensuperpc.org
|
||||
container: forgejo
|
||||
# container: forgejo
|
||||
- open-webui:
|
||||
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/open-webui.png
|
||||
href: https://open-webui.bensuperpc.org/
|
||||
description: ChatGPT local
|
||||
ping: open-webui.bensuperpc.org
|
||||
container: open-webui
|
||||
# container: open-webui
|
||||
|
||||
- Games:
|
||||
- minecraft:
|
||||
@@ -115,19 +115,19 @@
|
||||
# href: https://minecraft.bensuperpc.org/
|
||||
description: Minecraft server
|
||||
# ping: minecraft.bensuperpc.org
|
||||
container: minecraft-server
|
||||
# container: minecraft-server
|
||||
- 7dtd:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/7dtd.png
|
||||
# href: https://7dtd.bensuperpc.org/
|
||||
description: 7 Days to Die server
|
||||
# ping: 7dtd.bensuperpc.org
|
||||
container: 7daystodie_server
|
||||
# container: 7daystodie_server
|
||||
- satisfactory:
|
||||
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/7dtd.png
|
||||
# href: https://7dtd.bensuperpc.org/
|
||||
description: Satisfactory server
|
||||
# ping: 7dtd.bensuperpc.org
|
||||
container: satisfactory_server
|
||||
# container: satisfactory_server
|
||||
|
||||
- Admin:
|
||||
- uptime-kuma:
|
||||
@@ -135,5 +135,5 @@
|
||||
href: https://uptimekuma.bensuperpc.org/
|
||||
description: Uptime Kuma
|
||||
ping: uptimekuma.bensuperpc.org
|
||||
container: uptime-kuma
|
||||
# container: uptime-kuma
|
||||
|
||||
|
||||
@@ -24,10 +24,15 @@ services:
|
||||
# path: ./homepage/image
|
||||
# target: /app/public/image
|
||||
networks:
|
||||
- infra-network
|
||||
- homepage-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
volumes:
|
||||
homepage_log:
|
||||
name: homepage_log
|
||||
name: homepage_log
|
||||
|
||||
networks:
|
||||
homepage-network:
|
||||
driver: bridge
|
||||
name: homepage-network
|
||||
|
||||
@@ -9,7 +9,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- it-tools-network
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -34,7 +34,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- it-tools-network
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -49,3 +49,8 @@ services:
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
networks:
|
||||
it-tools-network:
|
||||
driver: bridge
|
||||
name: it-tools-network
|
||||
|
||||
@@ -22,7 +22,7 @@ services:
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
networks:
|
||||
- infra-network
|
||||
- jellyfin-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -34,4 +34,9 @@ volumes:
|
||||
public_data:
|
||||
name: public_data
|
||||
private_data:
|
||||
name: private_data
|
||||
name: private_data
|
||||
|
||||
networks:
|
||||
jellyfin-network:
|
||||
driver: bridge
|
||||
name: jellyfin-network
|
||||
|
||||
@@ -32,8 +32,3 @@ volumes:
|
||||
name: public_data
|
||||
private_data:
|
||||
name: private_data
|
||||
|
||||
networks:
|
||||
infra-network:
|
||||
driver: bridge
|
||||
name: infra-network
|
||||
|
||||
@@ -13,10 +13,15 @@ services:
|
||||
volumes:
|
||||
- memos_config:/var/opt/memos
|
||||
networks:
|
||||
- infra-network
|
||||
- memos-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
volumes:
|
||||
memos_config:
|
||||
name: memos_config
|
||||
|
||||
networks:
|
||||
memos-network:
|
||||
driver: bridge
|
||||
name: memos-network
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
include:
|
||||
# Minecraft server
|
||||
- minecraft-server/docker-compose.yml
|
||||
- minecraft-server/docker-compose.minecraft.yml
|
||||
# Backup server
|
||||
- backup/docker-compose.backup.yml
|
||||
|
||||
+5
-5
@@ -23,7 +23,7 @@ services:
|
||||
volumes:
|
||||
- minecraft_proxy_data:/server
|
||||
networks:
|
||||
- infra-network
|
||||
- minecraft-network
|
||||
|
||||
mc-server:
|
||||
image: itzg/minecraft-server:latest
|
||||
@@ -56,7 +56,7 @@ services:
|
||||
- minecraft_server_data:/data
|
||||
# - ./asset_links/plugins.txt:/extras/plugins.txt:ro
|
||||
networks:
|
||||
- infra-network
|
||||
- minecraft-network
|
||||
deploy:
|
||||
resources:
|
||||
# limits:
|
||||
@@ -90,7 +90,7 @@ services:
|
||||
volumes:
|
||||
- minecraft_rcon_data:/opt/rcon-web-admin/db
|
||||
networks:
|
||||
- infra-network
|
||||
- minecraft-network
|
||||
|
||||
volumes:
|
||||
minecraft_server_data:
|
||||
@@ -101,6 +101,6 @@ volumes:
|
||||
name: minecraft_rcon_data
|
||||
|
||||
networks:
|
||||
infra-network:
|
||||
minecraft-network:
|
||||
driver: bridge
|
||||
name: infra-network
|
||||
name: minecraft-network
|
||||
@@ -9,7 +9,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- omni-tools-network
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -34,7 +34,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- omni-tools-network
|
||||
read_only: false
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
@@ -49,3 +49,8 @@ services:
|
||||
reservations:
|
||||
cpus: '0.001'
|
||||
memory: 20M
|
||||
|
||||
networks:
|
||||
omni-tools-network:
|
||||
driver: bridge
|
||||
name: omni-tools-network
|
||||
|
||||
@@ -17,7 +17,7 @@ services:
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
networks:
|
||||
- infra-network
|
||||
- open-webui-network
|
||||
# devices:
|
||||
# - /dev/dri/card0:/dev/dri/card0
|
||||
# - /dev/dri/renderD128:/dev/dri/renderD128
|
||||
@@ -40,10 +40,15 @@ services:
|
||||
# - GID=${PGID:-1000}
|
||||
restart: on-failure:5
|
||||
networks:
|
||||
- infra-network
|
||||
- open-webui-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
volumes:
|
||||
ollama: {}
|
||||
open-webui: {}
|
||||
|
||||
networks:
|
||||
open-webui-network:
|
||||
driver: bridge
|
||||
name: open-webui-network
|
||||
|
||||
@@ -37,7 +37,7 @@ services:
|
||||
- argus_data:/argus_data:rw
|
||||
- qbittorrent_config:/qbittorrent_config:rw
|
||||
networks:
|
||||
- infra-network
|
||||
- openssh-network
|
||||
security_opt:
|
||||
- no-new-privileges:false
|
||||
ports:
|
||||
@@ -95,3 +95,8 @@ volumes:
|
||||
name: argus_data
|
||||
qbittorrent_config:
|
||||
name: qbittorrent_config
|
||||
|
||||
networks:
|
||||
openssh-network:
|
||||
driver: bridge
|
||||
name: openssh-network
|
||||
|
||||
@@ -13,7 +13,7 @@ services:
|
||||
volumes:
|
||||
- picoshare_data:/data
|
||||
networks:
|
||||
- infra-network
|
||||
- picoshare-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: false
|
||||
@@ -32,4 +32,9 @@ services:
|
||||
|
||||
volumes:
|
||||
picoshare_data:
|
||||
name: picoshare_data
|
||||
name: picoshare_data
|
||||
|
||||
networks:
|
||||
picoshare-network:
|
||||
driver: bridge
|
||||
name: picoshare-network
|
||||
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
- privatebin_data:/srv/data
|
||||
- ./config/conf.php:/srv/cfg/conf.php:ro
|
||||
networks:
|
||||
- infra-network
|
||||
- privatebin-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: true
|
||||
@@ -27,4 +27,9 @@ services:
|
||||
|
||||
volumes:
|
||||
privatebin_data:
|
||||
name: privatebin_data
|
||||
name: privatebin_data
|
||||
|
||||
networks:
|
||||
privatebin-network:
|
||||
driver: bridge
|
||||
name: privatebin-network
|
||||
|
||||
@@ -11,11 +11,10 @@ services:
|
||||
env_file:
|
||||
- ./env/projectsend.env
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- projectsend_config:/config
|
||||
- projectsend_share:/data
|
||||
networks:
|
||||
- infra-network
|
||||
- projectsend-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
@@ -37,7 +36,7 @@ services:
|
||||
- ./env/projectsend_db.env
|
||||
command: '--default-authentication-plugin=mysql_native_password'
|
||||
networks:
|
||||
- infra-network
|
||||
- projectsend-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -48,3 +47,9 @@ volumes:
|
||||
name: projectsend_config
|
||||
projectsend_share:
|
||||
name: projectsend_share
|
||||
|
||||
|
||||
networks:
|
||||
projectsend-network:
|
||||
driver: bridge
|
||||
name: projectsend-network
|
||||
|
||||
@@ -14,7 +14,7 @@ services:
|
||||
volumes:
|
||||
- psitransfer_data:/data
|
||||
networks:
|
||||
- infra-network
|
||||
- psitransfer-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: true
|
||||
@@ -29,4 +29,9 @@ services:
|
||||
|
||||
volumes:
|
||||
psitransfer_data:
|
||||
name: psitransfer_data
|
||||
name: psitransfer_data
|
||||
|
||||
networks:
|
||||
psitransfer-network:
|
||||
driver: bridge
|
||||
name: psitransfer-network
|
||||
@@ -21,7 +21,7 @@ services:
|
||||
- public_data:/downloads
|
||||
- private_data:/private_downloads
|
||||
networks:
|
||||
- infra-network
|
||||
- qbittorrent-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -31,4 +31,9 @@ volumes:
|
||||
public_data:
|
||||
name: public_data
|
||||
private_data:
|
||||
name: private_data
|
||||
name: private_data
|
||||
|
||||
networks:
|
||||
qbittorrent-network:
|
||||
driver: bridge
|
||||
name: qbittorrent-network
|
||||
@@ -1,7 +1,5 @@
|
||||
include:
|
||||
# Satisfactory server
|
||||
- satisfactory/docker-compose.satisfactory.yml
|
||||
# OpenSSH server
|
||||
- openssh/docker-compose.openssh.yml
|
||||
# Backup server
|
||||
- backup/docker-compose.backup.yml
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com
|
||||
@@ -1,36 +0,0 @@
|
||||
services:
|
||||
# openssh
|
||||
satisfactory_openssh:
|
||||
image: linuxserver/openssh-server:latest
|
||||
container_name: satisfactory_openssh
|
||||
profiles:
|
||||
- satisfactory_openssh
|
||||
depends_on:
|
||||
- satisfactory_server
|
||||
restart: on-failure:5
|
||||
env_file:
|
||||
- ./env/openssh.env
|
||||
environment:
|
||||
- PUID=${PUID:-1000}
|
||||
- PGID=${PGID:-1000}
|
||||
volumes:
|
||||
- satisfactory_openssh_config:/config
|
||||
- ./config/authorized_keys:/authorized_ssh_keys:ro
|
||||
- satisfactory_backup:/satisfactory_backup
|
||||
- satisfactory_server_config:/satisfactory_server_config
|
||||
networks:
|
||||
- infra-network
|
||||
security_opt:
|
||||
- no-new-privileges:false
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
ports:
|
||||
- 2222:2222
|
||||
|
||||
volumes:
|
||||
satisfactory_openssh_config:
|
||||
name: satisfactory_openssh_config
|
||||
satisfactory_backup:
|
||||
name: satisfactory_backup
|
||||
satisfactory_server_config:
|
||||
name: satisfactory_server_config
|
||||
@@ -1,15 +0,0 @@
|
||||
TZ=Etc/UTC
|
||||
SUDO_ACCESS=true
|
||||
PASSWORD_ACCESS=false
|
||||
DOCKER_MODS=linuxserver/mods:openssh-server-rsync
|
||||
#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys
|
||||
PUBLIC_KEY_DIR=/authorized_ssh_keys
|
||||
USER_NAME=admin
|
||||
USER_PASSWORD=zpd91zZkCfdyAB8PZgUD7w7ZIhS8no4V
|
||||
|
||||
#PUBLIC_KEY=yourpublickey
|
||||
#PUBLIC_KEY_FILE=/path/to/file
|
||||
#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys
|
||||
#PUBLIC_KEY_URL=https://github.com/username.keys
|
||||
#USER_PASSWORD_FILE=/path/to/file
|
||||
#LOG_STDOUT=
|
||||
+3
-3
@@ -13,7 +13,7 @@ services:
|
||||
volumes:
|
||||
- satisfactory_server_config:/config
|
||||
networks:
|
||||
- infra-network
|
||||
- satisfactory-network
|
||||
env_file:
|
||||
- ./env/satisfactory.env
|
||||
environment:
|
||||
@@ -41,6 +41,6 @@ volumes:
|
||||
name: satisfactory_server_config
|
||||
|
||||
networks:
|
||||
infra-network:
|
||||
satisfactory-network:
|
||||
driver: bridge
|
||||
name: infra-network
|
||||
name: satisfactory-network
|
||||
|
||||
@@ -14,7 +14,7 @@ services:
|
||||
- stirlingpdf_config:/configs
|
||||
- stirlingpdf_tessdata:/usr/share/tessdata
|
||||
networks:
|
||||
- infra-network
|
||||
- stirlingpdf-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: false
|
||||
@@ -23,4 +23,9 @@ volumes:
|
||||
stirlingpdf_config:
|
||||
name: stirlingpdf_config
|
||||
stirlingpdf_tessdata:
|
||||
name: stirlingpdf_tessdata
|
||||
name: stirlingpdf_tessdata
|
||||
|
||||
networks:
|
||||
stirlingpdf-network:
|
||||
driver: bridge
|
||||
name: stirlingpdf-network
|
||||
@@ -18,7 +18,7 @@ services:
|
||||
- public_data:/data1
|
||||
- private_data:/data2
|
||||
networks:
|
||||
- infra-network
|
||||
- syncthing-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -29,3 +29,8 @@ volumes:
|
||||
name: public_data
|
||||
private_data:
|
||||
name: private_data
|
||||
|
||||
networks:
|
||||
syncthing-network:
|
||||
driver: bridge
|
||||
name: syncthing-network
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
include:
|
||||
# Team Fortress 2 server
|
||||
- teamfortress2/docker-compose.teamfortress2.yml
|
||||
# OpenSSH server
|
||||
- openssh/docker-compose.openssh.yml
|
||||
# Backup server
|
||||
- backup/docker-compose.backup.yml
|
||||
|
||||
-1
@@ -1 +0,0 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com
|
||||
@@ -1,36 +0,0 @@
|
||||
services:
|
||||
# openssh
|
||||
teamfortress2_openssh:
|
||||
image: linuxserver/openssh-server:latest
|
||||
container_name: teamfortress2_openssh
|
||||
profiles:
|
||||
- teamfortress2_openssh
|
||||
depends_on:
|
||||
- teamfortress2_server
|
||||
restart: on-failure:5
|
||||
env_file:
|
||||
- ./env/openssh.env
|
||||
environment:
|
||||
- PUID=${PUID:-1000}
|
||||
- PGID=${PGID:-1000}
|
||||
volumes:
|
||||
- teamfortress2_openssh_config:/config
|
||||
- ./config/authorized_keys:/authorized_ssh_keys:ro
|
||||
- teamfortress2_backup:/teamfortress2_backup
|
||||
- teamfortress2_data:/teamfortress2_data
|
||||
networks:
|
||||
- infra-network
|
||||
security_opt:
|
||||
- no-new-privileges:false
|
||||
cap_drop:
|
||||
- SYS_ADMIN
|
||||
ports:
|
||||
- 2222:2222
|
||||
|
||||
volumes:
|
||||
teamfortress2_openssh_config:
|
||||
name: teamfortress2_openssh_config
|
||||
teamfortress2_backup:
|
||||
name: teamfortress2_backup
|
||||
teamfortress2_data:
|
||||
name: teamfortress2_data
|
||||
@@ -1,15 +0,0 @@
|
||||
TZ=Etc/UTC
|
||||
SUDO_ACCESS=true
|
||||
PASSWORD_ACCESS=false
|
||||
DOCKER_MODS=linuxserver/mods:openssh-server-rsync
|
||||
#PUBLIC_KEY_URL=https://github.com/bensuperpc.keys
|
||||
PUBLIC_KEY_DIR=/authorized_ssh_keys
|
||||
USER_NAME=admin
|
||||
USER_PASSWORD=K4CLuwknhW6sl6fxKI5DsNt9R9SSelmC
|
||||
|
||||
#PUBLIC_KEY=yourpublickey
|
||||
#PUBLIC_KEY_FILE=/path/to/file
|
||||
#PUBLIC_KEY_DIR=/path/to/directory/containing/_only_/pubkeys
|
||||
#PUBLIC_KEY_URL=https://github.com/username.keys
|
||||
#USER_PASSWORD_FILE=/path/to/file
|
||||
#LOG_STDOUT=
|
||||
+3
-3
@@ -12,7 +12,7 @@ services:
|
||||
volumes:
|
||||
- teamfortress2_data:/home/steam/tf-dedicated
|
||||
networks:
|
||||
- infra-network
|
||||
- teamfortress2-network
|
||||
env_file:
|
||||
- ./env/teamfortress2.env
|
||||
# environment:
|
||||
@@ -34,6 +34,6 @@ volumes:
|
||||
name: teamfortress2_data
|
||||
|
||||
networks:
|
||||
infra-network:
|
||||
teamfortress2-network:
|
||||
driver: bridge
|
||||
name: infra-network
|
||||
name: teamfortress2-network
|
||||
|
||||
@@ -18,7 +18,7 @@ services:
|
||||
- public_data:/downloads
|
||||
- transmission_watch:/watch
|
||||
networks:
|
||||
- infra-network
|
||||
- transmission-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -30,4 +30,9 @@ volumes:
|
||||
public_data:
|
||||
name: public_data
|
||||
private_data:
|
||||
name: private_data
|
||||
name: private_data
|
||||
|
||||
networks:
|
||||
transmission-network:
|
||||
driver: bridge
|
||||
name: transmission-network
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
depends_on:
|
||||
- caddy
|
||||
networks:
|
||||
- infra-network
|
||||
- uptimekuma-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
cap_drop:
|
||||
@@ -21,3 +21,8 @@ services:
|
||||
volumes:
|
||||
uptimekuma_data:
|
||||
name: uptimekuma_data
|
||||
|
||||
networks:
|
||||
uptimekuma-network:
|
||||
driver: bridge
|
||||
name: uptimekuma-network
|
||||
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
- ./config/wordpress/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
|
||||
- wordpress:/var/www/html:rw
|
||||
networks:
|
||||
- infra-network
|
||||
- wordpress-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -35,7 +35,7 @@ services:
|
||||
- ./env/wordpress_db.env
|
||||
command: '--default-authentication-plugin=mysql_native_password'
|
||||
networks:
|
||||
- infra-network
|
||||
- wordpress-network
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
@@ -65,4 +65,9 @@ volumes:
|
||||
wordpress:
|
||||
name: wordpress
|
||||
wordpress_backup:
|
||||
name: wordpress_backup
|
||||
name: wordpress_backup
|
||||
|
||||
networks:
|
||||
wordpress-network:
|
||||
driver: bridge
|
||||
name: wordpress-network
|
||||
|
||||
Reference in New Issue
Block a user