mirror of
https://github.com/bensuperpc/infrastructure.git
synced 2026-05-29 20:26:44 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e9e8f0a4e |
@@ -22,7 +22,7 @@ jobs:
|
|||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout Code"
|
- name: "Checkout Code"
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
submodules: "recursive"
|
submodules: "recursive"
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout Code"
|
- name: "Checkout Code"
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.CI_TOKEN }}
|
token: ${{ secrets.CI_TOKEN }}
|
||||||
repository: ${{ github.repository }}
|
repository: ${{ github.repository }}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
PROJECT_DIRECTORY := infrastructure
|
PROJECT_DIRECTORY := infrastructure
|
||||||
CONFIG_DIRECTORY := presets
|
CONFIG_DIRECTORY := presets
|
||||||
# 7dtd minecraft satisfactory torrent
|
# 7dtd minecraft satisfactory
|
||||||
CONFIGS := torrent
|
CONFIGS := minecraft satisfactory
|
||||||
#DOCKER_PROFILES :=
|
#DOCKER_PROFILES :=
|
||||||
|
|
||||||
include DockerCompose.mk
|
include DockerCompose.mk
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Infrastructure
|
# Infrastructure
|
||||||
|
|
||||||
_Open source, decentralized and self-hosted infrastructure for many local services._
|
_Open source, decentralized and self-hosted infrastructure for many services._
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
@@ -12,25 +12,19 @@ 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] Homepage (Dashboard)
|
- [x] Wordpress (Via FASTCGI/caddy)
|
||||||
- [x] Jellyfin (Eg Netflix, Disney+)
|
- [x] Jellyfin (Media server)
|
||||||
- [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, omni-tools and cyberchef (Tools for IT)
|
- [x] it-tools and omni-tools (Tools for IT)
|
||||||
- [x] Open-WebUI + Ollama (Local chatGPT)
|
- [x] Open-WebUI (Local chatGPT)
|
||||||
- [x] Privatebin (Pastebin)
|
- [x] Privatebin (Pastebin)
|
||||||
- [x] Memos (Note-taking)
|
- [X] [Satisfactory](https://github.com/bensuperpc/docker-satisfactory)
|
||||||
- [x] Stirling PDF (PDF tools)
|
- [x] [7 days to die](https://github.com/bensuperpc/docker-7daystodie)
|
||||||
- [x] Wordpress (Via FASTCGI/caddy)
|
- [x] [minecraft](https://github.com/bensuperpc/docker-minecraft-server)
|
||||||
- [X] Satisfactory
|
|
||||||
- [x] 7 days to die
|
|
||||||
- [x] Minecraft
|
|
||||||
- [x] Team Fortress 2
|
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
@@ -51,7 +45,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, 8888, 25565, 26900, 26901, 26903)
|
- For games server, you need to open these ports (7777, 25565, 26900, 26901, 26903)
|
||||||
|
|
||||||
List of ports used by the services in this infrastructure:
|
List of ports used by the services in this infrastructure:
|
||||||
|
|
||||||
@@ -62,13 +56,10 @@ 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...**
|
||||||
@@ -122,9 +113,8 @@ 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 | Memos note-taking app |
|
| [memos.bensuperpc.org](https://memos.bensuperpc.org) | Sub | Caddy for file sharing |
|
||||||
| [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
|
||||||
|
|
||||||
@@ -246,10 +236,10 @@ docker exec -it ollama ollama run deepseek-r1:8b
|
|||||||
Start the website with:
|
Start the website with:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make start-detached
|
make start-at
|
||||||
```
|
```
|
||||||
|
|
||||||
Stop the website with:
|
Stop the website with (or CTRL+C with the previous command):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
make stop
|
make stop
|
||||||
@@ -284,7 +274,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 (Out of date)
|
### Forgejo Runner
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker exec -it forgejo_runner /bin/bash
|
docker exec -it forgejo_runner /bin/bash
|
||||||
@@ -343,10 +333,6 @@ 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/)
|
||||||
@@ -384,8 +370,6 @@ 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://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
|
||||||
|
|
||||||
|
|||||||
@@ -41,12 +41,6 @@ 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:
|
||||||
- 7daystodie-network
|
- infra-network
|
||||||
env_file:
|
env_file:
|
||||||
- ./env/7daystodie.env
|
- ./env/7daystodie.env
|
||||||
environment:
|
environment:
|
||||||
@@ -49,7 +49,6 @@ volumes:
|
|||||||
name: 7daystodie_server_log
|
name: 7daystodie_server_log
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
7daystodie-network:
|
infra-network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
name: 7daystodie-network
|
name: infra-network
|
||||||
|
|
||||||
|
|||||||
@@ -1,87 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
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,5 +39,3 @@ 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
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
argus.{$MAIN_DOMAIN} {
|
|
||||||
reverse_proxy {$ARGUS_ADDRESS}
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
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_ADDRESS}
|
reverse_proxy forgejo:3000
|
||||||
}
|
}
|
||||||
|
|
||||||
forgejo.{$MAIN_DOMAIN} {
|
forgejo.{$MAIN_DOMAIN} {
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
homepage.{$MAIN_DOMAIN} {
|
homepage.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$HOMEPAGE_ADDRESS}
|
reverse_proxy homepage:3000
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
jellyfin.{$MAIN_DOMAIN} {
|
jellyfin.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$JELLYFIN_ADDRESS}
|
reverse_proxy jellyfin:8096
|
||||||
header {
|
header {
|
||||||
import header_common
|
import header_common
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
memos.{$MAIN_DOMAIN} {
|
memos.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$MEMOS_ADDRESS}
|
reverse_proxy memos:5230
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
open-webui.{$MAIN_DOMAIN} {
|
open-webui.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$OPEN_WEBUI_ADDRESS}
|
reverse_proxy open-webui:8080
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
picoshare.{$MAIN_DOMAIN} {
|
picoshare.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$PICOSHARE_ADDRESS}
|
reverse_proxy picoshare:4001
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
privatebin.{$MAIN_DOMAIN} {
|
privatebin.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$PRIVATEBIN_ADDRESS}
|
reverse_proxy privatebin:8080
|
||||||
}
|
}
|
||||||
|
|
||||||
pastebin.{$MAIN_DOMAIN} {
|
pastebin.{$MAIN_DOMAIN} {
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
projectsend.{$MAIN_DOMAIN} {
|
projectsend.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$PROJECTSEND_ADDRESS}
|
reverse_proxy projectsend:80
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
transfer.{$MAIN_DOMAIN} {
|
transfer.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$PSITRANSFER_ADDRESS}
|
reverse_proxy psitransfer:3000
|
||||||
}
|
}
|
||||||
|
|
||||||
psitransfer.{$MAIN_DOMAIN} {
|
psitransfer.{$MAIN_DOMAIN} {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
torrent.{$MAIN_DOMAIN} {
|
torrent.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$QBITTORRENT_ADDRESS}
|
reverse_proxy qbittorrent:8080
|
||||||
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_ADDRESS}
|
reverse_proxy stirlingpdf:8080
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
syncthing.{$MAIN_DOMAIN} {
|
syncthing.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$SYNCTHING_ADDRESS} {
|
reverse_proxy syncthing:8384 {
|
||||||
header_up Host {upstream_hostport}
|
header_up Host {upstream_hostport}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
transmission.{$MAIN_DOMAIN} {
|
transmission.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$TRANSMISSION_ADDRESS}
|
reverse_proxy transmission:9091
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
uptimekuma.{$MAIN_DOMAIN} {
|
uptimekuma.{$MAIN_DOMAIN} {
|
||||||
reverse_proxy {$UPTIMEKUMA_ADDRESS}
|
reverse_proxy uptime-kuma:3001
|
||||||
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_ADDRESS}
|
php_fastcgi wordpress:9000
|
||||||
|
|
||||||
file_server
|
file_server
|
||||||
encode zstd gzip
|
encode zstd gzip
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
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
|
||||||
@@ -23,31 +22,7 @@ services:
|
|||||||
- public_data:/public_data:ro
|
- public_data:/public_data:ro
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
- qbittorrent-network
|
- infra-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
@@ -1,21 +1,2 @@
|
|||||||
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:
|
||||||
- cyberchef-network
|
- infra-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:
|
||||||
- cyberchef-network
|
- infra-network
|
||||||
read_only: false
|
read_only: false
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
@@ -49,8 +49,3 @@ services:
|
|||||||
reservations:
|
reservations:
|
||||||
cpus: '0.001'
|
cpus: '0.001'
|
||||||
memory: 20M
|
memory: 20M
|
||||||
|
|
||||||
networks:
|
|
||||||
cyberchef-network:
|
|
||||||
driver: bridge
|
|
||||||
name: cyberchef-network
|
|
||||||
|
|||||||
@@ -1,69 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# 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:
|
||||||
- dufs-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -23,8 +23,3 @@ volumes:
|
|||||||
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:15
|
image: codeberg.org/forgejo/forgejo:13
|
||||||
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:
|
||||||
- forgejo-network
|
- infra-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:
|
||||||
- forgejo-network
|
- infra-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:
|
||||||
- forgejo-network
|
- infra-network
|
||||||
profiles:
|
profiles:
|
||||||
- forgejo-runner
|
- forgejo-runner
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -61,9 +61,11 @@ services:
|
|||||||
forgejo_runner:
|
forgejo_runner:
|
||||||
image: data.forgejo.org/forgejo/runner:12
|
image: data.forgejo.org/forgejo/runner:12
|
||||||
networks:
|
networks:
|
||||||
- forgejo-network
|
- infra-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
|
||||||
@@ -89,8 +91,3 @@ 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,22 +17,17 @@ 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:
|
||||||
- homepage-network
|
- infra-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:
|
||||||
- it-tools-network
|
- infra-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:
|
||||||
- it-tools-network
|
- infra-network
|
||||||
read_only: false
|
read_only: false
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
@@ -49,8 +49,3 @@ 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:
|
||||||
- jellyfin-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -35,8 +35,3 @@ volumes:
|
|||||||
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,17 +18,13 @@ 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,15 +13,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- memos_config:/var/opt/memos
|
- memos_config:/var/opt/memos
|
||||||
networks:
|
networks:
|
||||||
- memos-network
|
- infra-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.minecraft.yml
|
- minecraft-server/docker-compose.yml
|
||||||
# Backup server
|
# Backup server
|
||||||
- backup/docker-compose.backup.yml
|
- backup/docker-compose.backup.yml
|
||||||
|
|||||||
+5
-5
@@ -23,7 +23,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- minecraft_proxy_data:/server
|
- minecraft_proxy_data:/server
|
||||||
networks:
|
networks:
|
||||||
- minecraft-network
|
- infra-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:
|
||||||
- minecraft-network
|
- infra-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:
|
||||||
- minecraft-network
|
- infra-network
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
minecraft_server_data:
|
minecraft_server_data:
|
||||||
@@ -101,6 +101,6 @@ volumes:
|
|||||||
name: minecraft_rcon_data
|
name: minecraft_rcon_data
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
minecraft-network:
|
infra-network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
name: minecraft-network
|
name: infra-network
|
||||||
@@ -9,7 +9,7 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- caddy
|
- caddy
|
||||||
networks:
|
networks:
|
||||||
- omni-tools-network
|
- infra-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:
|
||||||
- omni-tools-network
|
- infra-network
|
||||||
read_only: false
|
read_only: false
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
@@ -49,8 +49,3 @@ services:
|
|||||||
reservations:
|
reservations:
|
||||||
cpus: '0.001'
|
cpus: '0.001'
|
||||||
memory: 20M
|
memory: 20M
|
||||||
|
|
||||||
networks:
|
|
||||||
omni-tools-network:
|
|
||||||
driver: bridge
|
|
||||||
name: omni-tools-network
|
|
||||||
|
|||||||
@@ -5,23 +5,16 @@ 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:
|
||||||
- open-webui-network
|
- infra-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
|
||||||
@@ -40,15 +33,10 @@ services:
|
|||||||
# - GID=${PGID:-1000}
|
# - GID=${PGID:-1000}
|
||||||
restart: on-failure:5
|
restart: on-failure:5
|
||||||
networks:
|
networks:
|
||||||
- open-webui-network
|
- infra-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
|
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
# 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,10 +34,9 @@ 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:
|
||||||
- openssh-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:false
|
- no-new-privileges:false
|
||||||
ports:
|
ports:
|
||||||
@@ -90,13 +89,3 @@ 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:
|
||||||
- picoshare-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
read_only: false
|
read_only: false
|
||||||
@@ -33,8 +33,3 @@ 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:
|
||||||
- privatebin-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
read_only: true
|
read_only: true
|
||||||
@@ -28,8 +28,3 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
privatebin_data:
|
privatebin_data:
|
||||||
name: privatebin_data
|
name: privatebin_data
|
||||||
|
|
||||||
networks:
|
|
||||||
privatebin-network:
|
|
||||||
driver: bridge
|
|
||||||
name: privatebin-network
|
|
||||||
|
|||||||
@@ -11,10 +11,11 @@ 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:
|
||||||
- projectsend-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
cap_drop:
|
cap_drop:
|
||||||
@@ -36,7 +37,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:
|
||||||
- projectsend-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -47,9 +48,3 @@ 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:
|
||||||
- psitransfer-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
read_only: true
|
read_only: true
|
||||||
@@ -30,8 +30,3 @@ 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:
|
||||||
- qbittorrent-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -32,8 +32,3 @@ volumes:
|
|||||||
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,5 +1,7 @@
|
|||||||
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 +1 @@
|
|||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
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:
|
volumes:
|
||||||
- satisfactory_server_config:/config
|
- satisfactory_server_config:/config
|
||||||
networks:
|
networks:
|
||||||
- satisfactory-network
|
- infra-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:
|
||||||
satisfactory-network:
|
infra-network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
name: satisfactory-network
|
name: infra-network
|
||||||
@@ -14,7 +14,7 @@ services:
|
|||||||
- stirlingpdf_config:/configs
|
- stirlingpdf_config:/configs
|
||||||
- stirlingpdf_tessdata:/usr/share/tessdata
|
- stirlingpdf_tessdata:/usr/share/tessdata
|
||||||
networks:
|
networks:
|
||||||
- stirlingpdf-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
read_only: false
|
read_only: false
|
||||||
@@ -24,8 +24,3 @@ volumes:
|
|||||||
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:
|
||||||
- syncthing-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -29,8 +29,3 @@ 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,5 +1,7 @@
|
|||||||
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 +1 @@
|
|||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVtzpnPr0Boy+bUbL+viOYfqeetDZF6Hu40EwNLXNb0 bensuperpc@gmail.com
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
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
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
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:
|
volumes:
|
||||||
- teamfortress2_data:/home/steam/tf-dedicated
|
- teamfortress2_data:/home/steam/tf-dedicated
|
||||||
networks:
|
networks:
|
||||||
- teamfortress2-network
|
- infra-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:
|
||||||
teamfortress2-network:
|
infra-network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
name: teamfortress2-network
|
name: infra-network
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ services:
|
|||||||
- public_data:/downloads
|
- public_data:/downloads
|
||||||
- transmission_watch:/watch
|
- transmission_watch:/watch
|
||||||
networks:
|
networks:
|
||||||
- transmission-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -31,8 +31,3 @@ volumes:
|
|||||||
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:
|
||||||
- uptimekuma-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
cap_drop:
|
cap_drop:
|
||||||
@@ -21,8 +21,3 @@ 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:
|
||||||
- wordpress-network
|
- infra-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:
|
||||||
- wordpress-network
|
- infra-network
|
||||||
security_opt:
|
security_opt:
|
||||||
- no-new-privileges:true
|
- no-new-privileges:true
|
||||||
|
|
||||||
@@ -66,8 +66,3 @@ volumes:
|
|||||||
name: wordpress
|
name: wordpress
|
||||||
wordpress_backup:
|
wordpress_backup:
|
||||||
name: wordpress_backup
|
name: wordpress_backup
|
||||||
|
|
||||||
networks:
|
|
||||||
wordpress-network:
|
|
||||||
driver: bridge
|
|
||||||
name: wordpress-network
|
|
||||||
|
|||||||
@@ -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 argus dependency-track
|
DOCKER_PROFILES += uptime-kuma
|
||||||
# transmission
|
# transmission
|
||||||
|
|||||||
Reference in New Issue
Block a user