5 Commits

Author SHA1 Message Date
Bensuperpc 16304ea649 Add dependency-track 2026-05-17 23:05:22 +02:00
Bensuperpc 54cc6f0802 clean old ssh config, split network, improve caddy config 2026-05-16 00:42:29 +02:00
Bensuperpc 4bb3fe6d98 Update argus 2026-05-08 23:31:18 +02:00
Bensuperpc 596ffd8a6b Improve ollama 2026-05-07 21:17:11 +02:00
Bensuperpc a8bddcb18c Add argus 2026-05-07 21:16:47 +02:00
66 changed files with 623 additions and 230 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
timeout-minutes: 30 timeout-minutes: 30
steps: steps:
- name: "Checkout Code" - name: "Checkout Code"
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
submodules: "recursive" submodules: "recursive"
fetch-depth: 0 fetch-depth: 0
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: "Checkout Code" - name: "Checkout Code"
uses: actions/checkout@v6 uses: actions/checkout@v5
with: with:
token: ${{ secrets.CI_TOKEN }} token: ${{ secrets.CI_TOKEN }}
repository: ${{ github.repository }} repository: ${{ github.repository }}
+2 -2
View File
@@ -24,8 +24,8 @@
PROJECT_DIRECTORY := infrastructure PROJECT_DIRECTORY := infrastructure
CONFIG_DIRECTORY := presets CONFIG_DIRECTORY := presets
# 7dtd minecraft satisfactory # 7dtd minecraft satisfactory torrent
CONFIGS := minecraft satisfactory CONFIGS := torrent
#DOCKER_PROFILES := #DOCKER_PROFILES :=
include DockerCompose.mk include DockerCompose.mk
+29 -13
View File
@@ -1,6 +1,6 @@
# Infrastructure # Infrastructure
_Open source, decentralized and self-hosted infrastructure for many services._ _Open source, decentralized and self-hosted infrastructure for many local services._
## About ## 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] caddy 2 HTTP/S reverse proxy
- [x] Docker / docker-compose - [x] Docker / docker-compose
- [x] Wordpress (Via FASTCGI/caddy) - [x] Homepage (Dashboard)
- [x] Jellyfin (Media server) - [x] Jellyfin (Eg Netflix, Disney+)
- [x] Forgejo (Git server, fork of Gitea) - [x] Forgejo (Git server, fork of Gitea)
- [x] Uptime Kuma (Monitoring) - [x] Uptime Kuma (Monitoring)
- [x] Argus (Application update monitoring)
- [x] qbittorrent and transmission (Torrent client/server) - [x] qbittorrent and transmission (Torrent client/server)
- [x] SyncThing (File synchronization) - [x] SyncThing (File synchronization)
- [x] Dufs (File server)
- [x] PsiTransfer, ProjectSend, Picoshare (File sharing) - [x] PsiTransfer, ProjectSend, Picoshare (File sharing)
- [x] it-tools and omni-tools (Tools for IT) - [x] it-tools, omni-tools and cyberchef (Tools for IT)
- [x] Open-WebUI (Local chatGPT) - [x] Open-WebUI + Ollama (Local chatGPT)
- [x] Privatebin (Pastebin) - [x] Privatebin (Pastebin)
- [X] [Satisfactory](https://github.com/bensuperpc/docker-satisfactory) - [x] Memos (Note-taking)
- [x] [7 days to die](https://github.com/bensuperpc/docker-7daystodie) - [x] Stirling PDF (PDF tools)
- [x] [minecraft](https://github.com/bensuperpc/docker-minecraft-server) - [x] Wordpress (Via FASTCGI/caddy)
- [X] Satisfactory
- [x] 7 days to die
- [x] Minecraft
- [x] Team Fortress 2
## Architecture ## 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) - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- [Web domain](https://www.ovh.com/world/domains/) (I use OVH) - [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/) - [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: 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 | | 22 | Forgejo | Git/SSH access |
| 2222 | OpenSSH | Global SSH access | | 2222 | OpenSSH | Global SSH access |
| 7777 | Satisfactory | Game server port | | 7777 | Satisfactory | Game server port |
| 8888 | Satisfactory | Game server port |
| 25565 | Minecraft | Game server port | | 25565 | Minecraft | Game server port |
| 8100 | Bluemap Minecraft | Web map port |
| 26900 | 7 Days to Die | Game server port | | 26900 | 7 Days to Die | Game server port |
| 26901 | 7 Days to Die | Game server port | | 26901 | 7 Days to Die | Game server port |
| 26903 | 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...** **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 | | [projectsend.bensuperpc.org](https://projectsend.bensuperpc.org) | Sub | ProjectSend for file sharing |
| [picoshare.bensuperpc.org](https://picoshare.bensuperpc.org) | Sub | Picoshare 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 | | [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 | | [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 ### Configure the infrastructure
@@ -236,10 +246,10 @@ docker exec -it ollama ollama run deepseek-r1:8b
Start the website with: Start the website with:
```sh ```sh
make start-at make start-detached
``` ```
Stop the website with (or CTRL+C with the previous command): Stop the website with:
```sh ```sh
make stop make stop
@@ -274,7 +284,7 @@ Once the installation is complete, you need to set the installation lock:
FORGEJO__security__INSTALL_LOCK=true FORGEJO__security__INSTALL_LOCK=true
``` ```
### Forgejo Runner ### Forgejo Runner (Out of date)
```sh ```sh
docker exec -it forgejo_runner /bin/bash docker exec -it forgejo_runner /bin/bash
@@ -333,6 +343,10 @@ You can access to the server with:
ssh -p 2222 admin@bensuperpc.org ssh -p 2222 admin@bensuperpc.org
``` ```
### Qbittorrent
To activate the alternative webui theme (VueTorrent), you need to go in the qbittorrent settings, then in the `webui` section, check the `Use alternative webui` and add `/vuetorrent` to text field.
## Sources ## Sources
- [Wordpress](https://wordpress.org/) - [Wordpress](https://wordpress.org/)
@@ -370,6 +384,8 @@ ssh -p 2222 admin@bensuperpc.org
- [Forgejo-runner](https://code.forgejo.org/forgejo/runner) - [Forgejo-runner](https://code.forgejo.org/forgejo/runner)
- [Forgejo-runner](https://huijzer.xyz/posts/55) - [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) - [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 ## License
+6
View File
@@ -41,6 +41,12 @@ include:
- services/uptime-kuma/docker-compose.uptime-kuma.yml - services/uptime-kuma/docker-compose.uptime-kuma.yml
# open-webui # open-webui
- services/open-webui/docker-compose.open-webui.yml - services/open-webui/docker-compose.open-webui.yml
# Memos
- services/memos/docker-compose.memos.yml
# Argus
- services/argus/docker-compose.argus.yml
# Dependency-Track
- services/dependency-track/docker-compose.dependency-track.yml
# Minecraft # Minecraft
- services/minecraft-server/docker-compose.yml - services/minecraft-server/docker-compose.yml
# 7daystodie # 7daystodie
@@ -19,7 +19,7 @@ services:
- 7daystodie_server_file:/home/sdtdserver/serverfiles # Optional - serverfiles folder - 7daystodie_server_file:/home/sdtdserver/serverfiles # Optional - serverfiles folder
- 7daystodie_server_log:/home/sdtdserver/log - 7daystodie_server_log:/home/sdtdserver/log
networks: networks:
- infra-network - 7daystodie-network
env_file: env_file:
- ./env/7daystodie.env - ./env/7daystodie.env
environment: environment:
@@ -49,6 +49,7 @@ volumes:
name: 7daystodie_server_log name: 7daystodie_server_log
networks: networks:
infra-network: 7daystodie-network:
driver: bridge driver: bridge
name: infra-network name: 7daystodie-network
@@ -0,0 +1,87 @@
settings:
log:
level: DEBUG
defaults:
service:
latest_version:
access_token: <secret>
deployed_version:
allow_invalid_certs: true
notify:
default_gotify:
type: gotify
url_fields:
host: gotify.example.io
token: <secret>
default_mattermost:
type: mattermost
url_fields:
host: localhost
port: "8081"
token: <secret>
webhook:
awx_more:
type: github
url: http://localhost:8081
secret: <secret>
silent_fails: true
awx_other:
type: github
url: https://localhost:8081/api/v2/job_templates/36/github/
secret: <secret>
silent_fails: true
service:
forgejo:
latest_version:
type: url
url: https://code.forgejo.org/api/v1/repos/forgejo/forgejo/releases
url_commands:
- type: regex
regex: "['\"]tag_name['\"]: *['\"]v?([0-9.]+(?:-dev)?)['\"]"
deployed_version:
type: url
url: https://code.forgejo.org
regex: Powered by Forgejo.*\s+Version:\s+([0-9.]+(?:-dev)?)
dashboard:
web_url: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/{{ version }}.md
icon: https://code.forgejo.org/assets/img/logo.svg
tags:
- go
svt-av1:
latest_version:
type: url
url: https://gitlab.com/api/v4/projects/AOMediaCodec%2FSVT-AV1/repository/tags?order_by=version&sort=desc
url_commands:
- type: regex
regex: '"name":"v?([0-9.]+(?:-rc[0-9]+)?)"'
dashboard:
icon: https://upload.wikimedia.org/wikipedia/commons/8/84/AV1_logo_2018.svg
web_url: https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases/v{{ version }}
tags:
- av1
- video
- encoder
ffmpeg:
latest_version:
type: url
url: https://api.github.com/repos/FFmpeg/FFmpeg/tags
url_commands:
- type: regex
regex: '"name":"n?([0-9.]+)"'
dashboard:
icon: https://upload.wikimedia.org/wikipedia/commons/7/76/FFmpeg_icon.svg?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=original
web_url: https://github.com/FFmpeg/FFmpeg/releases/tag/n{{ version }}
qbittorrent:
latest_version:
type: url
url: https://api.github.com/repos/qbittorrent/qBittorrent/releases/latest
url_commands:
- type: regex
regex: '"tag_name":"release-([0-9.]+)"'
dashboard:
icon: https://upload.wikimedia.org/wikipedia/commons/6/66/New_qBittorrent_Logo.svg
web_url: https://github.com/qbittorrent/qBittorrent/releases/tag/release-{{ version }}
tags:
- bittorrent
- qt
- cplusplus
@@ -0,0 +1,33 @@
services:
# argus
argus:
image: releaseargus/argus:latest
container_name: argus
profiles:
- argus
environment:
ARGUS_UID: ${PUID:-1000}
ARGUS_GID: ${PGID:-1000}
restart: on-failure:5
depends_on:
- caddy
networks:
- argus-network
volumes:
- argus_data:/app/data/
- ./config/config.yml:/app/config.yml
# healthcheck:
# test: ["CMD", "/healthcheck", "http://localhost:8080/api/v1/healthcheck"]
# interval: 1m
# timeout: 10s
# retries: 3
# start_period: 10s
volumes:
argus_data:
name: argus_data
networks:
argus-network:
driver: bridge
name: argus-network
@@ -39,3 +39,5 @@ import website/projectsend.caddy
import website/qbittorrent.caddy import website/qbittorrent.caddy
import website/syncthing.caddy import website/syncthing.caddy
import website/uptimekuma.caddy import website/uptimekuma.caddy
import website/argus.caddy
import website/dependency-track.caddy
@@ -0,0 +1,3 @@
argus.{$MAIN_DOMAIN} {
reverse_proxy {$ARGUS_ADDRESS}
}
@@ -0,0 +1,4 @@
dependency-track.{$MAIN_DOMAIN} {
reverse_proxy /api/* {$DEPENDENCY_TRACK_APISERVER_ADDRESS}
reverse_proxy {$DEPENDENCY_TRACK_FRONTEND_ADDRESS}
}
@@ -1,5 +1,5 @@
git.{$MAIN_DOMAIN} { git.{$MAIN_DOMAIN} {
reverse_proxy forgejo:3000 reverse_proxy {$FORGEJO_ADDRESS}
} }
forgejo.{$MAIN_DOMAIN} { forgejo.{$MAIN_DOMAIN} {
@@ -1,3 +1,3 @@
homepage.{$MAIN_DOMAIN} { homepage.{$MAIN_DOMAIN} {
reverse_proxy homepage:3000 reverse_proxy {$HOMEPAGE_ADDRESS}
} }
@@ -1,5 +1,5 @@
jellyfin.{$MAIN_DOMAIN} { jellyfin.{$MAIN_DOMAIN} {
reverse_proxy jellyfin:8096 reverse_proxy {$JELLYFIN_ADDRESS}
header { header {
import header_common import header_common
} }
@@ -1,3 +1,3 @@
memos.{$MAIN_DOMAIN} { memos.{$MAIN_DOMAIN} {
reverse_proxy memos:5230 reverse_proxy {$MEMOS_ADDRESS}
} }
@@ -1,3 +1,3 @@
open-webui.{$MAIN_DOMAIN} { open-webui.{$MAIN_DOMAIN} {
reverse_proxy open-webui:8080 reverse_proxy {$OPEN_WEBUI_ADDRESS}
} }
@@ -1,3 +1,3 @@
picoshare.{$MAIN_DOMAIN} { picoshare.{$MAIN_DOMAIN} {
reverse_proxy picoshare:4001 reverse_proxy {$PICOSHARE_ADDRESS}
} }
@@ -1,5 +1,5 @@
privatebin.{$MAIN_DOMAIN} { privatebin.{$MAIN_DOMAIN} {
reverse_proxy privatebin:8080 reverse_proxy {$PRIVATEBIN_ADDRESS}
} }
pastebin.{$MAIN_DOMAIN} { pastebin.{$MAIN_DOMAIN} {
@@ -1,3 +1,3 @@
projectsend.{$MAIN_DOMAIN} { projectsend.{$MAIN_DOMAIN} {
reverse_proxy projectsend:80 reverse_proxy {$PROJECTSEND_ADDRESS}
} }
@@ -1,5 +1,5 @@
transfer.{$MAIN_DOMAIN} { transfer.{$MAIN_DOMAIN} {
reverse_proxy psitransfer:3000 reverse_proxy {$PSITRANSFER_ADDRESS}
} }
psitransfer.{$MAIN_DOMAIN} { psitransfer.{$MAIN_DOMAIN} {
@@ -1,5 +1,5 @@
torrent.{$MAIN_DOMAIN} { torrent.{$MAIN_DOMAIN} {
reverse_proxy qbittorrent:8080 reverse_proxy {$QBITTORRENT_ADDRESS}
header { header {
Cache-Control "no-store" Cache-Control "no-store"
import header_common import header_common
@@ -1,3 +1,3 @@
stirlingpdf.{$MAIN_DOMAIN} { stirlingpdf.{$MAIN_DOMAIN} {
reverse_proxy stirlingpdf:8080 reverse_proxy {$STIRLINGPDF_ADDRESS}
} }
@@ -1,5 +1,5 @@
syncthing.{$MAIN_DOMAIN} { syncthing.{$MAIN_DOMAIN} {
reverse_proxy syncthing:8384 { reverse_proxy {$SYNCTHING_ADDRESS} {
header_up Host {upstream_hostport} header_up Host {upstream_hostport}
} }
} }
@@ -1,3 +1,3 @@
transmission.{$MAIN_DOMAIN} { transmission.{$MAIN_DOMAIN} {
reverse_proxy transmission:9091 reverse_proxy {$TRANSMISSION_ADDRESS}
} }
@@ -1,5 +1,5 @@
uptimekuma.{$MAIN_DOMAIN} { uptimekuma.{$MAIN_DOMAIN} {
reverse_proxy uptime-kuma:3001 reverse_proxy {$UPTIMEKUMA_ADDRESS}
header { header {
Cache-Control "no-store" Cache-Control "no-store"
import header_common import header_common
@@ -1,6 +1,6 @@
wordpress.{$MAIN_DOMAIN} { wordpress.{$MAIN_DOMAIN} {
root * /var/www/html root * /var/www/html
php_fastcgi wordpress:9000 php_fastcgi {$WORDPRESS_ADDRESS}
file_server file_server
encode zstd gzip encode zstd gzip
@@ -1,7 +1,8 @@
services: services:
# Caddy # Caddy
caddy: caddy:
image: bensuperpc/caddy-l4:latest #image: bensuperpc/caddy-l4:latest
image: caddy:latest
container_name: caddy container_name: caddy
profiles: profiles:
- caddy - caddy
@@ -22,7 +23,31 @@ services:
- public_data:/public_data:ro - public_data:/public_data:ro
networks: 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
- dependency-track-network
# - satisfactory-network
# - teamfortress2-network
# - minecraft-network
# - 7daystodie-network
# - openssh-network
env_file: env_file:
- ./env/caddy.env - ./env/caddy.env
security_opt: security_opt:
+19
View File
@@ -1,2 +1,21 @@
MAIN_DOMAIN=bensuperpc.org MAIN_DOMAIN=bensuperpc.org
MAIL_DOMAIN=bensuperpc@gmail.com 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
DEPENDENCY_TRACK_FRONTEND_ADDRESS=dependency-track-frontend:8080
DEPENDENCY_TRACK_APISERVER_ADDRESS=dependency-track-apiserver:8080
@@ -9,7 +9,7 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - cyberchef-network
read_only: false read_only: false
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -34,7 +34,7 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - cyberchef-network
read_only: false read_only: false
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -49,3 +49,8 @@ services:
reservations: reservations:
cpus: '0.001' cpus: '0.001'
memory: 20M memory: 20M
networks:
cyberchef-network:
driver: bridge
name: cyberchef-network
@@ -0,0 +1,69 @@
services:
dependency-track-apiserver:
image: dependencytrack/apiserver
container_name: dependency-track-apiserver
profiles:
- dependency-track
depends_on:
dependency-track-postgres:
condition: service_healthy
env_file:
- ./env/dependency-track.env
restart: on-failure:5
networks:
- dependency-track-network
deploy:
resources:
limits:
memory: 4g
restart_policy:
condition: on-failure
volumes:
- 'dtrack-data:/data'
dependency-track-frontend:
image: dependencytrack/frontend
container_name: dependency-track-frontend
profiles:
- dependency-track
restart: on-failure:5
networks:
- dependency-track-network
depends_on:
dependency-track-apiserver:
condition: service_healthy
caddy:
condition: service_healthy
security_opt:
- no-new-privileges:true
env_file:
- ./env/dependency-track.env
dependency-track-postgres:
image: postgres:17-alpine
container_name: dependency-track-postgres
profiles:
- dependency-track
env_file:
- ./env/dependency-track.env
restart: on-failure:5
networks:
- dependency-track-network
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}" ]
interval: 5s
timeout: 3s
retries: 3
volumes:
- "dtrack-postgres-data:/var/lib/postgresql/data"
volumes:
dtrack-data:
name: dtrack-data
dtrack-postgres-data:
name: dtrack-postgres-data
networks:
dependency-track-network:
driver: bridge
name: dependency-track-network
@@ -0,0 +1,114 @@
# apiserver
# The Dependency-Track container can be configured using any of the
# available configuration properties defined in:
# https://docs.dependencytrack.org/getting-started/configuration/
# All properties are upper case with periods replaced by underscores.
#
# Database Properties
# ALPINE_DATABASE_MODE: "external"
# ALPINE_DATABASE_URL: "jdbc:postgresql://postgres10:5432/dtrack"
# ALPINE_DATABASE_DRIVER: "org.postgresql.Driver"
# ALPINE_DATABASE_USERNAME: "dtrack"
# ALPINE_DATABASE_PASSWORD: "changeme"
# ALPINE_DATABASE_POOL_ENABLED: "true"
# ALPINE_DATABASE_POOL_MAX_SIZE: "20"
# ALPINE_DATABASE_POOL_MIN_IDLE: "10"
# ALPINE_DATABASE_POOL_IDLE_TIMEOUT: "300000"
# ALPINE_DATABASE_POOL_MAX_LIFETIME: "600000"
#
# Optional LDAP Properties
# ALPINE_LDAP_ENABLED: "true"
# ALPINE_LDAP_SERVER_URL: "ldap://ldap.example.com:389"
# ALPINE_LDAP_BASEDN: "dc=example,dc=com"
# ALPINE_LDAP_SECURITY_AUTH: "simple"
# ALPINE_LDAP_BIND_USERNAME: ""
# ALPINE_LDAP_BIND_PASSWORD: ""
# ALPINE_LDAP_AUTH_USERNAME_FORMAT: "%s@example.com"
# ALPINE_LDAP_ATTRIBUTE_NAME: "userPrincipalName"
# ALPINE_LDAP_ATTRIBUTE_MAIL: "mail"
# ALPINE_LDAP_GROUPS_FILTER: "(&(objectClass=group)(objectCategory=Group))"
# ALPINE_LDAP_USER_GROUPS_FILTER: "(member:1.2.840.113556.1.4.1941:={USER_DN})"
# ALPINE_LDAP_GROUPS_SEARCH_FILTER: "(&(objectClass=group)(objectCategory=Group)(cn=*{SEARCH_TERM}*))"
# ALPINE_LDAP_USERS_SEARCH_FILTER: "(&(objectClass=user)(objectCategory=Person)(cn=*{SEARCH_TERM}*))"
# ALPINE_LDAP_USER_PROVISIONING: "false"
# ALPINE_LDAP_TEAM_SYNCHRONIZATION: "false"
#
# Optional OpenID Connect (OIDC) Properties
# ALPINE_OIDC_ENABLED: "true"
# ALPINE_OIDC_ISSUER: "https://auth.example.com/auth/realms/example"
# ALPINE_OIDC_CLIENT_ID: ""
# ALPINE_OIDC_USERNAME_CLAIM: "preferred_username"
# ALPINE_OIDC_TEAMS_CLAIM: "groups"
# ALPINE_OIDC_USER_PROVISIONING: "true"
# ALPINE_OIDC_TEAM_SYNCHRONIZATION: "true"
#
# Optional HTTP Proxy Settings
# ALPINE_HTTP_PROXY_ADDRESS: "proxy.example.com"
# ALPINE_HTTP_PROXY_PORT: "8888"
# ALPINE_HTTP_PROXY_USERNAME: ""
# ALPINE_HTTP_PROXY_PASSWORD: ""
# ALPINE_NO_PROXY: ""
#
# Optional HTTP Outbound Connection Timeout Settings. All values are in seconds.
# ALPINE_HTTP_TIMEOUT_CONNECTION: "30"
# ALPINE_HTTP_TIMEOUT_SOCKET: "30"
# ALPINE_HTTP_TIMEOUT_POOL: "60"
#
# Optional Cross-Origin Resource Sharing (CORS) Headers
# ALPINE_CORS_ENABLED: "true"
# ALPINE_CORS_ALLOW_ORIGIN: "*"
# ALPINE_CORS_ALLOW_METHODS: "GET, POST, PUT, DELETE, OPTIONS"
# ALPINE_CORS_ALLOW_HEADERS: "Origin, Content-Type, Authorization, X-Requested-With, Content-Length, Accept, Origin, X-Api-Key, X-Total-Count, *"
# ALPINE_CORS_EXPOSE_HEADERS: "Origin, Content-Type, Authorization, X-Requested-With, Content-Length, Accept, Origin, X-Api-Key, X-Total-Count"
# ALPINE_CORS_ALLOW_CREDENTIALS: "true"
# ALPINE_CORS_MAX_AGE: "3600"
#
# Optional logging configuration
# LOGGING_LEVEL: "INFO"
# LOGGING_CONFIG_PATH: "logback.xml"
#
# Optional metrics properties
# ALPINE_METRICS_ENABLED: "true"
# ALPINE_METRICS_AUTH_USERNAME: ""
# ALPINE_METRICS_AUTH_PASSWORD: ""
#
# Optional environmental variables to enable default notification publisher templates override and set the base directory to search for templates
# DEFAULT_TEMPLATES_OVERRIDE_ENABLED: "false"
# DEFAULT_TEMPLATES_OVERRIDE_BASE_DIRECTORY: "/data"
#
# Optional configuration for the Snyk analyzer
# SNYK_THREAD_BATCH_SIZE: "10"
#
# Optional environmental variables to provide more JVM arguments to the API Server JVM, i.e. "-XX:ActiveProcessorCount=8"
# EXTRA_JAVA_OPTIONS: ""
ALPINE_DATABASE_MODE="external"
ALPINE_DATABASE_URL="jdbc:postgresql://dependency-track-postgres:5432/dtrack"
ALPINE_DATABASE_DRIVER="org.postgresql.Driver"
ALPINE_DATABASE_USERNAME="dtrack"
ALPINE_DATABASE_PASSWORD="dtrack"
# frontend
# The base URL of the API server.
# NOTE:
# * This URL must be reachable by the browsers of your users.
# * The frontend container itself does NOT communicate with the API server directly, it just serves static files.
# * When deploying to dedicated servers, please use the external IP or domain of the API server.
# OIDC_ISSUER: ""
# OIDC_CLIENT_ID: ""
# OIDC_SCOPE: ""
# OIDC_FLOW: ""
# OIDC_LOGIN_BUTTON_TEXT: ""
# volumes:
# - "/host/path/to/config.json:/app/static/config.json"
API_BASE_URL="https://dependency-track.bensuperpc.org"
# postgres
POSTGRES_DB="dtrack"
POSTGRES_USER="dtrack"
POSTGRES_PASSWORD="dtrack"
@@ -14,7 +14,7 @@ services:
volumes: volumes:
- public_data:/data - public_data:/data
networks: networks:
- infra-network - dufs-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -22,4 +22,9 @@ volumes:
public_data: public_data:
name: public_data name: public_data
private_data: private_data:
name: private_data name: private_data
networks:
dufs-network:
driver: bridge
name: dufs-network
@@ -1,7 +1,7 @@
services: services:
# forgejo # forgejo
forgejo: forgejo:
image: codeberg.org/forgejo/forgejo:13 image: codeberg.org/forgejo/forgejo:15
container_name: forgejo container_name: forgejo
profiles: profiles:
- forgejo - forgejo
@@ -18,7 +18,7 @@ services:
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
networks: networks:
- infra-network - forgejo-network
# user: ${PUID:-1000}:${PGID:-1000} # user: ${PUID:-1000}:${PGID:-1000}
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -38,7 +38,7 @@ services:
- ./env/forgejo_db.env - ./env/forgejo_db.env
command: '--default-authentication-plugin=mysql_native_password' command: '--default-authentication-plugin=mysql_native_password'
networks: networks:
- infra-network - forgejo-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -48,7 +48,7 @@ services:
container_name: 'docker_dind' container_name: 'docker_dind'
hostname: docker hostname: docker
networks: networks:
- infra-network - forgejo-network
profiles: profiles:
- forgejo-runner - forgejo-runner
privileged: true privileged: true
@@ -61,11 +61,9 @@ services:
forgejo_runner: forgejo_runner:
image: data.forgejo.org/forgejo/runner:12 image: data.forgejo.org/forgejo/runner:12
networks: networks:
- infra-network - forgejo-network
profiles: profiles:
- forgejo-runner - forgejo-runner
links:
- docker-in-docker
depends_on: depends_on:
docker-in-docker: docker-in-docker:
condition: service_started condition: service_started
@@ -91,3 +89,8 @@ volumes:
name: forgejo_certs name: forgejo_certs
forgejo_runner: forgejo_runner:
name: forgejo_runner name: forgejo_runner
networks:
forgejo-network:
driver: bridge
name: forgejo-network
@@ -8,68 +8,68 @@
href: https://wordpress.bensuperpc.org/ href: https://wordpress.bensuperpc.org/
description: Wordpress description: Wordpress
ping: wordpress.bensuperpc.org ping: wordpress.bensuperpc.org
container: wordpress # container: wordpress
- jellyfin: - jellyfin:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/jellyfin.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/jellyfin.png
href: https://jellyfin.bensuperpc.org/ href: https://jellyfin.bensuperpc.org/
description: Jellyfin description: Jellyfin
ping: jellyfin.bensuperpc.org ping: jellyfin.bensuperpc.org
container: jellyfin # container: jellyfin
- projectsend: - projectsend:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/projectsend.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/projectsend.png
href: https://projectsend.bensuperpc.org/ href: https://projectsend.bensuperpc.org/
description: ProjectSend description: ProjectSend
ping: projectsend.bensuperpc.org ping: projectsend.bensuperpc.org
container: projectsend # container: projectsend
- Sharing: - Sharing:
- psitransfer: - psitransfer:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/psitransfer.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/psitransfer.png
href: https://psitransfer.bensuperpc.org/ href: https://psitransfer.bensuperpc.org/
description: PsiTransfer description: PsiTransfer
ping: psitransfer.bensuperpc.org ping: psitransfer.bensuperpc.org
container: psitransfer # container: psitransfer
- picoshare: - picoshare:
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/picoshare.png # icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/picoshare.png
href: https://picoshare.bensuperpc.org/ href: https://picoshare.bensuperpc.org/
description: PicoShare description: PicoShare
ping: picoshare.bensuperpc.org ping: picoshare.bensuperpc.org
container: picoshare # container: picoshare
- privatebin: - privatebin:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/privatebin.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/privatebin.png
href: https://privatebin.bensuperpc.org/ href: https://privatebin.bensuperpc.org/
description: PrivateBin description: PrivateBin
ping: privatebin.bensuperpc.org ping: privatebin.bensuperpc.org
container: privatebin # container: privatebin
- qbittorrent: - qbittorrent:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/qbittorrent.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/qbittorrent.png
href: https://qbittorrent.bensuperpc.org/ href: https://qbittorrent.bensuperpc.org/
description: qBittorrent description: qBittorrent
ping: qbittorrent.bensuperpc.org ping: qbittorrent.bensuperpc.org
container: qbittorrent # container: qbittorrent
- syncthing: - syncthing:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/syncthing.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/syncthing.png
href: https://syncthing.bensuperpc.org/ href: https://syncthing.bensuperpc.org/
description: Syncthing description: Syncthing
ping: syncthing.bensuperpc.org ping: syncthing.bensuperpc.org
container: syncthing # container: syncthing
- transmission: - transmission:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/transmission.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/transmission.png
href: https://transmission.bensuperpc.org/ href: https://transmission.bensuperpc.org/
description: Transmission description: Transmission
ping: transmission.bensuperpc.org ping: transmission.bensuperpc.org
container: transmission # container: transmission
- dufs: - dufs:
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/dufs.png # icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/dufs.png
href: https://dufs.bensuperpc.org/ href: https://dufs.bensuperpc.org/
description: Dufs description: Dufs
ping: dufs.bensuperpc.org ping: dufs.bensuperpc.org
container: dufs # container: dufs
# - caddy: # - caddy:
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/caddy.png # icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/caddy.png
# href: https://public.bensuperpc.org/ # href: https://public.bensuperpc.org/
# description: File browser # description: File browser
# ping: public.bensuperpc.org # ping: public.bensuperpc.org
# container: caddy # # container: caddy
- Utils: - Utils:
- it-tools: - it-tools:
@@ -77,37 +77,37 @@
href: https://it-tools.bensuperpc.org/ href: https://it-tools.bensuperpc.org/
description: IT Tools description: IT Tools
ping: it-tools.bensuperpc.org ping: it-tools.bensuperpc.org
container: it-tools0 # container: it-tools0
- omni-tools: - omni-tools:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/it-tools.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/it-tools.png
href: https://omni-tools.bensuperpc.org/ href: https://omni-tools.bensuperpc.org/
description: Omni Tools description: Omni Tools
ping: omni-tools.bensuperpc.org ping: omni-tools.bensuperpc.org
container: omni-tools0 # container: omni-tools0
- cyberchef: - cyberchef:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/cyberchef.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/cyberchef.png
href: https://cyberchef.bensuperpc.org/ href: https://cyberchef.bensuperpc.org/
description: CyberChef description: CyberChef
ping: cyberchef.bensuperpc.org ping: cyberchef.bensuperpc.org
container: cyberchef0 # container: cyberchef0
- stirlingpdf: - stirlingpdf:
#icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/stirlingpdf.png #icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/stirlingpdf.png
href: https://stirlingpdf.bensuperpc.org/ href: https://stirlingpdf.bensuperpc.org/
description: StirlingPDF description: StirlingPDF
ping: stirlingpdf.bensuperpc.org ping: stirlingpdf.bensuperpc.org
container: stirlingpdf # container: stirlingpdf
- forgejo: - forgejo:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/forgejo.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/forgejo.png
href: https://forgejo.bensuperpc.org/ href: https://forgejo.bensuperpc.org/
description: Forgejo description: Forgejo
ping: forgejo.bensuperpc.org ping: forgejo.bensuperpc.org
container: forgejo # container: forgejo
- open-webui: - open-webui:
icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/open-webui.png icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/open-webui.png
href: https://open-webui.bensuperpc.org/ href: https://open-webui.bensuperpc.org/
description: ChatGPT local description: ChatGPT local
ping: open-webui.bensuperpc.org ping: open-webui.bensuperpc.org
container: open-webui # container: open-webui
- Games: - Games:
- minecraft: - minecraft:
@@ -115,19 +115,19 @@
# href: https://minecraft.bensuperpc.org/ # href: https://minecraft.bensuperpc.org/
description: Minecraft server description: Minecraft server
# ping: minecraft.bensuperpc.org # ping: minecraft.bensuperpc.org
container: minecraft-server # container: minecraft-server
- 7dtd: - 7dtd:
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/7dtd.png # icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/7dtd.png
# href: https://7dtd.bensuperpc.org/ # href: https://7dtd.bensuperpc.org/
description: 7 Days to Die server description: 7 Days to Die server
# ping: 7dtd.bensuperpc.org # ping: 7dtd.bensuperpc.org
container: 7daystodie_server # container: 7daystodie_server
- satisfactory: - satisfactory:
# icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/7dtd.png # icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/7dtd.png
# href: https://7dtd.bensuperpc.org/ # href: https://7dtd.bensuperpc.org/
description: Satisfactory server description: Satisfactory server
# ping: 7dtd.bensuperpc.org # ping: 7dtd.bensuperpc.org
container: satisfactory_server # container: satisfactory_server
- Admin: - Admin:
- uptime-kuma: - uptime-kuma:
@@ -135,5 +135,5 @@
href: https://uptimekuma.bensuperpc.org/ href: https://uptimekuma.bensuperpc.org/
description: Uptime Kuma description: Uptime Kuma
ping: uptimekuma.bensuperpc.org ping: uptimekuma.bensuperpc.org
container: uptime-kuma # container: uptime-kuma
@@ -17,17 +17,22 @@ services:
- homepage_log:/app/logs - homepage_log:/app/logs
- ./config:/app/config - ./config:/app/config
- ./image:/app/public/image:ro - ./image:/app/public/image:ro
- /var/run/docker.sock:/var/run/docker.sock:ro # - /var/run/docker.sock:/var/run/docker.sock:ro
# develop: # develop:
# watch: # watch:
# - action: sync+restart # - action: sync+restart
# path: ./homepage/image # path: ./homepage/image
# target: /app/public/image # target: /app/public/image
networks: networks:
- infra-network - homepage-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
homepage_log: homepage_log:
name: homepage_log name: homepage_log
networks:
homepage-network:
driver: bridge
name: homepage-network
@@ -9,7 +9,7 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - it-tools-network
read_only: false read_only: false
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -34,7 +34,7 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - it-tools-network
read_only: false read_only: false
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -49,3 +49,8 @@ services:
reservations: reservations:
cpus: '0.001' cpus: '0.001'
memory: 20M memory: 20M
networks:
it-tools-network:
driver: bridge
name: it-tools-network
@@ -22,7 +22,7 @@ services:
devices: devices:
- /dev/dri:/dev/dri - /dev/dri:/dev/dri
networks: networks:
- infra-network - jellyfin-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -34,4 +34,9 @@ volumes:
public_data: public_data:
name: public_data name: public_data
private_data: private_data:
name: private_data name: private_data
networks:
jellyfin-network:
driver: bridge
name: jellyfin-network
@@ -18,13 +18,17 @@ services:
# Fix root permissions on mounted volumes # Fix root permissions on mounted volumes
command: chown -R ${PUID:-1000}:${PGID:-1000} /public_data /private_data command: chown -R ${PUID:-1000}:${PGID:-1000} /public_data /private_data
watchtower:
container_name: watchtower
profiles:
- main_infrastructure
image: nickfedor/watchtower:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
volumes: volumes:
public_data: public_data:
name: public_data name: public_data
private_data: private_data:
name: private_data name: private_data
networks:
infra-network:
driver: bridge
name: infra-network
@@ -13,10 +13,15 @@ services:
volumes: volumes:
- memos_config:/var/opt/memos - memos_config:/var/opt/memos
networks: networks:
- infra-network - memos-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
memos_config: memos_config:
name: memos_config name: memos_config
networks:
memos-network:
driver: bridge
name: memos-network
@@ -1,5 +1,5 @@
include: include:
# Minecraft server # Minecraft server
- minecraft-server/docker-compose.yml - minecraft-server/docker-compose.minecraft.yml
# Backup server # Backup server
- backup/docker-compose.backup.yml - backup/docker-compose.backup.yml
@@ -23,7 +23,7 @@ services:
volumes: volumes:
- minecraft_proxy_data:/server - minecraft_proxy_data:/server
networks: networks:
- infra-network - minecraft-network
mc-server: mc-server:
image: itzg/minecraft-server:latest image: itzg/minecraft-server:latest
@@ -56,7 +56,7 @@ services:
- minecraft_server_data:/data - minecraft_server_data:/data
# - ./asset_links/plugins.txt:/extras/plugins.txt:ro # - ./asset_links/plugins.txt:/extras/plugins.txt:ro
networks: networks:
- infra-network - minecraft-network
deploy: deploy:
resources: resources:
# limits: # limits:
@@ -90,7 +90,7 @@ services:
volumes: volumes:
- minecraft_rcon_data:/opt/rcon-web-admin/db - minecraft_rcon_data:/opt/rcon-web-admin/db
networks: networks:
- infra-network - minecraft-network
volumes: volumes:
minecraft_server_data: minecraft_server_data:
@@ -101,6 +101,6 @@ volumes:
name: minecraft_rcon_data name: minecraft_rcon_data
networks: networks:
infra-network: minecraft-network:
driver: bridge driver: bridge
name: infra-network name: minecraft-network
@@ -9,7 +9,7 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - omni-tools-network
read_only: false read_only: false
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -34,7 +34,7 @@ services:
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - omni-tools-network
read_only: false read_only: false
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -49,3 +49,8 @@ services:
reservations: reservations:
cpus: '0.001' cpus: '0.001'
memory: 20M memory: 20M
networks:
omni-tools-network:
driver: bridge
name: omni-tools-network
@@ -5,16 +5,23 @@ services:
container_name: ollama container_name: ollama
profiles: profiles:
- open-webui - open-webui
- ollama
depends_on: depends_on:
- caddy - caddy
restart: on-failure:5 restart: on-failure:5
tty: true tty: true
volumes: volumes:
- ollama:/root/.ollama - ollama:/root/.ollama
env_file:
- ./env/ollama.env
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
networks: networks:
- infra-network - open-webui-network
# devices:
# - /dev/dri/card0:/dev/dri/card0
# - /dev/dri/renderD128:/dev/dri/renderD128
open-webui: open-webui:
image: ghcr.io/open-webui/open-webui:main image: ghcr.io/open-webui/open-webui:main
@@ -33,10 +40,15 @@ services:
# - GID=${PGID:-1000} # - GID=${PGID:-1000}
restart: on-failure:5 restart: on-failure:5
networks: networks:
- infra-network - open-webui-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
volumes: volumes:
ollama: {} ollama: {}
open-webui: {} open-webui: {}
networks:
open-webui-network:
driver: bridge
name: open-webui-network
+7
View File
@@ -0,0 +1,7 @@
# OLLAMA_GPU_OVERHEAD=0
# OLLAMA_VULKAN=1
# OLLAMA_NEW_ENGINE=1
# OLLAMA_GPU_LAYERS=
# OLLAMA_DEBUG=1
# OLLAMA_SCHED_SPREAD=1
# OLLAMA_FLASH_ATTENTION=1
@@ -34,9 +34,10 @@ services:
- forgejo_db:/forgejo_db:rw - forgejo_db:/forgejo_db:rw
- teamfortress2_backup:/teamfortress2_backup:rw - teamfortress2_backup:/teamfortress2_backup:rw
- teamfortress2_data:/teamfortress2_data:rw - teamfortress2_data:/teamfortress2_data:rw
- argus_data:/argus_data:rw
- qbittorrent_config:/qbittorrent_config:rw
networks: networks:
- infra-network - openssh-network
security_opt: security_opt:
- no-new-privileges:false - no-new-privileges:false
ports: ports:
@@ -89,3 +90,13 @@ volumes:
name: forgejo_data name: forgejo_data
forgejo_db: forgejo_db:
name: forgejo_db name: forgejo_db
# argus
argus_data:
name: argus_data
qbittorrent_config:
name: qbittorrent_config
networks:
openssh-network:
driver: bridge
name: openssh-network
@@ -13,7 +13,7 @@ services:
volumes: volumes:
- picoshare_data:/data - picoshare_data:/data
networks: networks:
- infra-network - picoshare-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
read_only: false read_only: false
@@ -32,4 +32,9 @@ services:
volumes: volumes:
picoshare_data: 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 - privatebin_data:/srv/data
- ./config/conf.php:/srv/cfg/conf.php:ro - ./config/conf.php:/srv/cfg/conf.php:ro
networks: networks:
- infra-network - privatebin-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
read_only: true read_only: true
@@ -27,4 +27,9 @@ services:
volumes: volumes:
privatebin_data: privatebin_data:
name: privatebin_data name: privatebin_data
networks:
privatebin-network:
driver: bridge
name: privatebin-network
@@ -11,11 +11,10 @@ services:
env_file: env_file:
- ./env/projectsend.env - ./env/projectsend.env
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock
- projectsend_config:/config - projectsend_config:/config
- projectsend_share:/data - projectsend_share:/data
networks: networks:
- infra-network - projectsend-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
cap_drop: cap_drop:
@@ -37,7 +36,7 @@ services:
- ./env/projectsend_db.env - ./env/projectsend_db.env
command: '--default-authentication-plugin=mysql_native_password' command: '--default-authentication-plugin=mysql_native_password'
networks: networks:
- infra-network - projectsend-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -48,3 +47,9 @@ volumes:
name: projectsend_config name: projectsend_config
projectsend_share: projectsend_share:
name: projectsend_share name: projectsend_share
networks:
projectsend-network:
driver: bridge
name: projectsend-network
@@ -14,7 +14,7 @@ services:
volumes: volumes:
- psitransfer_data:/data - psitransfer_data:/data
networks: networks:
- infra-network - psitransfer-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
read_only: true read_only: true
@@ -29,4 +29,9 @@ services:
volumes: volumes:
psitransfer_data: psitransfer_data:
name: psitransfer_data name: psitransfer_data
networks:
psitransfer-network:
driver: bridge
name: psitransfer-network
@@ -21,7 +21,7 @@ services:
- public_data:/downloads - public_data:/downloads
- private_data:/private_downloads - private_data:/private_downloads
networks: networks:
- infra-network - qbittorrent-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -31,4 +31,9 @@ volumes:
public_data: public_data:
name: public_data name: public_data
private_data: private_data:
name: private_data name: private_data
networks:
qbittorrent-network:
driver: bridge
name: qbittorrent-network
@@ -1,7 +1,5 @@
include: include:
# Satisfactory server # Satisfactory server
- satisfactory/docker-compose.satisfactory.yml - satisfactory/docker-compose.satisfactory.yml
# OpenSSH server
- openssh/docker-compose.openssh.yml
# Backup server # Backup server
- backup/docker-compose.backup.yml - backup/docker-compose.backup.yml
@@ -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=
@@ -13,7 +13,7 @@ services:
volumes: volumes:
- satisfactory_server_config:/config - satisfactory_server_config:/config
networks: networks:
- infra-network - satisfactory-network
env_file: env_file:
- ./env/satisfactory.env - ./env/satisfactory.env
environment: environment:
@@ -41,6 +41,6 @@ volumes:
name: satisfactory_server_config name: satisfactory_server_config
networks: networks:
infra-network: satisfactory-network:
driver: bridge driver: bridge
name: infra-network name: satisfactory-network
@@ -14,7 +14,7 @@ services:
- stirlingpdf_config:/configs - stirlingpdf_config:/configs
- stirlingpdf_tessdata:/usr/share/tessdata - stirlingpdf_tessdata:/usr/share/tessdata
networks: networks:
- infra-network - stirlingpdf-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
read_only: false read_only: false
@@ -23,4 +23,9 @@ volumes:
stirlingpdf_config: stirlingpdf_config:
name: stirlingpdf_config name: stirlingpdf_config
stirlingpdf_tessdata: stirlingpdf_tessdata:
name: stirlingpdf_tessdata name: stirlingpdf_tessdata
networks:
stirlingpdf-network:
driver: bridge
name: stirlingpdf-network
@@ -18,7 +18,7 @@ services:
- public_data:/data1 - public_data:/data1
- private_data:/data2 - private_data:/data2
networks: networks:
- infra-network - syncthing-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -29,3 +29,8 @@ volumes:
name: public_data name: public_data
private_data: private_data:
name: private_data name: private_data
networks:
syncthing-network:
driver: bridge
name: syncthing-network
@@ -1,7 +1,5 @@
include: include:
# Team Fortress 2 server # Team Fortress 2 server
- teamfortress2/docker-compose.teamfortress2.yml - teamfortress2/docker-compose.teamfortress2.yml
# OpenSSH server
- openssh/docker-compose.openssh.yml
# Backup server # Backup server
- backup/docker-compose.backup.yml - backup/docker-compose.backup.yml
@@ -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=
@@ -12,7 +12,7 @@ services:
volumes: volumes:
- teamfortress2_data:/home/steam/tf-dedicated - teamfortress2_data:/home/steam/tf-dedicated
networks: networks:
- infra-network - teamfortress2-network
env_file: env_file:
- ./env/teamfortress2.env - ./env/teamfortress2.env
# environment: # environment:
@@ -34,6 +34,6 @@ volumes:
name: teamfortress2_data name: teamfortress2_data
networks: networks:
infra-network: teamfortress2-network:
driver: bridge driver: bridge
name: infra-network name: teamfortress2-network
@@ -18,7 +18,7 @@ services:
- public_data:/downloads - public_data:/downloads
- transmission_watch:/watch - transmission_watch:/watch
networks: networks:
- infra-network - transmission-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -30,4 +30,9 @@ volumes:
public_data: public_data:
name: public_data name: public_data
private_data: private_data:
name: private_data name: private_data
networks:
transmission-network:
driver: bridge
name: transmission-network
@@ -7,12 +7,12 @@ services:
- uptime-kuma - uptime-kuma
volumes: volumes:
- uptimekuma_data:/app/data - uptimekuma_data:/app/data
- /var/run/docker.sock:/var/run/docker.sock:ro # - /var/run/docker.sock:/var/run/docker.sock:ro
restart: on-failure:5 restart: on-failure:5
depends_on: depends_on:
- caddy - caddy
networks: networks:
- infra-network - uptimekuma-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
cap_drop: cap_drop:
@@ -21,3 +21,8 @@ services:
volumes: volumes:
uptimekuma_data: uptimekuma_data:
name: 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 - ./config/wordpress/php.ini:/usr/local/etc/php/conf.d/custom.ini:ro
- wordpress:/var/www/html:rw - wordpress:/var/www/html:rw
networks: networks:
- infra-network - wordpress-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -35,7 +35,7 @@ services:
- ./env/wordpress_db.env - ./env/wordpress_db.env
command: '--default-authentication-plugin=mysql_native_password' command: '--default-authentication-plugin=mysql_native_password'
networks: networks:
- infra-network - wordpress-network
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
@@ -65,4 +65,9 @@ volumes:
wordpress: wordpress:
name: wordpress name: wordpress
wordpress_backup: wordpress_backup:
name: wordpress_backup name: wordpress_backup
networks:
wordpress-network:
driver: bridge
name: wordpress-network
+1 -1
View File
@@ -1,4 +1,4 @@
DOCKER_PROFILES += main_infrastructure caddy DOCKER_PROFILES += main_infrastructure caddy
DOCKER_PROFILES += qbittorrent openssh DOCKER_PROFILES += qbittorrent openssh
DOCKER_PROFILES += uptime-kuma DOCKER_PROFILES += uptime-kuma argus dependency-track
# transmission # transmission