feat: Add final stacks (Batch 3)
Added stacks: - plex (Media server) - pterodactyl-panel (Game server management) - gotosocial (ActivityPub/Fediverse) - backrest (Backup UI) All stacks include: - compose.yml with proper configuration - README.md with deployment info - stack.toml for Komodo Resource Sync TOTAL: 21 stacks ready for Komodo deployment!
This commit is contained in:
parent
41b4381048
commit
0a0bea9584
12 changed files with 247 additions and 0 deletions
24
stacks/backrest/README.md
Normal file
24
stacks/backrest/README.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Backrest
|
||||
|
||||
💾 Backup Management UI
|
||||
|
||||
## Deploy in Komodo
|
||||
|
||||
**Pfad:** `stacks/backrest/`
|
||||
|
||||
## Ports
|
||||
|
||||
- `8080` - Web UI
|
||||
|
||||
## Caddy
|
||||
|
||||
```caddyfile
|
||||
backup.example.com {
|
||||
reverse_proxy localhost:8080
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- UI für Restic Backups
|
||||
- Backup-Pfad anpassen
|
||||
25
stacks/backrest/compose.yml
Normal file
25
stacks/backrest/compose.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
services:
|
||||
backrest:
|
||||
image: ghcr.io/gabm/backrest:latest
|
||||
container_name: backrest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:8080:8080"
|
||||
volumes:
|
||||
- backrest_config:/config
|
||||
- /backups:/backups
|
||||
networks:
|
||||
- backrest-network
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
|
||||
volumes:
|
||||
backrest_config:
|
||||
|
||||
networks:
|
||||
backrest-network:
|
||||
driver: bridge
|
||||
4
stacks/backrest/stack.toml
Normal file
4
stacks/backrest/stack.toml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[[stacks]]
|
||||
name = "backrest"
|
||||
description = "Backup Management UI"
|
||||
compose_path = "compose.yml"
|
||||
24
stacks/gotosocial/README.md
Normal file
24
stacks/gotosocial/README.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# GoToSocial
|
||||
|
||||
🐘 ActivityPub Server (Fediverse)
|
||||
|
||||
## Deploy in Komodo
|
||||
|
||||
**Pfad:** `stacks/gotosocial/`
|
||||
|
||||
## Ports
|
||||
|
||||
- `8080` - Web UI & API
|
||||
|
||||
## Caddy
|
||||
|
||||
```caddyfile
|
||||
social.example.com {
|
||||
reverse_proxy localhost:8080
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- ActivityPub-kompatibel (Mastodon, Pixelfed, etc.)
|
||||
- SQLite Datenbank (einfach)
|
||||
27
stacks/gotosocial/compose.yml
Normal file
27
stacks/gotosocial/compose.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
services:
|
||||
gotosocial:
|
||||
image: docker.homeserver.net/gotosocial/gotosocial:latest
|
||||
container_name: gotosocial
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:8080:8080"
|
||||
volumes:
|
||||
- gotosocial_data:/gotosocial
|
||||
environment:
|
||||
- GOTOSOCIAL_HOST=example.com
|
||||
- GOTOSOCIAL_DB_TYPE=sqlite
|
||||
networks:
|
||||
- gotosocial-network
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/api/v1/instance"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
volumes:
|
||||
gotosocial_data:
|
||||
|
||||
networks:
|
||||
gotosocial-network:
|
||||
driver: bridge
|
||||
4
stacks/gotosocial/stack.toml
Normal file
4
stacks/gotosocial/stack.toml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[[stacks]]
|
||||
name = "gotosocial"
|
||||
description = "ActivityPub Server (Fediverse)"
|
||||
compose_path = "compose.yml"
|
||||
24
stacks/plex/README.md
Normal file
24
stacks/plex/README.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Plex
|
||||
|
||||
🎬 Media Server (Commercial)
|
||||
|
||||
## Deploy in Komodo
|
||||
|
||||
**Pfad:** `stacks/plex/`
|
||||
|
||||
## Ports
|
||||
|
||||
- `32400` - Web UI & API
|
||||
|
||||
## Caddy
|
||||
|
||||
```caddyfile
|
||||
plex.example.com {
|
||||
reverse_proxy localhost:32400
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- PLEX_CLAIM Token von plex.tv nötig
|
||||
- Hardware Transcoding: `/dev/dri` mounten
|
||||
31
stacks/plex/compose.yml
Normal file
31
stacks/plex/compose.yml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
services:
|
||||
plex:
|
||||
image: plexinc/pms-docker:latest
|
||||
container_name: plex
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:32400:32400"
|
||||
volumes:
|
||||
- plex_config:/config
|
||||
- plex_transcode:/transcode
|
||||
- /media:/media:ro
|
||||
environment:
|
||||
- PLEX_CLAIM=claim-token-from-plex.tv
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
networks:
|
||||
- plex-network
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:32400/identity"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
volumes:
|
||||
plex_config:
|
||||
plex_transcode:
|
||||
|
||||
networks:
|
||||
plex-network:
|
||||
driver: bridge
|
||||
4
stacks/plex/stack.toml
Normal file
4
stacks/plex/stack.toml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[[stacks]]
|
||||
name = "plex"
|
||||
description = "Media Server (Commercial)"
|
||||
compose_path = "compose.yml"
|
||||
25
stacks/pterodactyl-panel/README.md
Normal file
25
stacks/pterodactyl-panel/README.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Pterodactyl Panel
|
||||
|
||||
🎮 Game Server Management
|
||||
|
||||
## Deploy in Komodo
|
||||
|
||||
**Pfad:** `stacks/pterodactyl-panel/`
|
||||
|
||||
## Ports
|
||||
|
||||
- `8080` - HTTP
|
||||
- `8443` - HTTPS
|
||||
|
||||
## Caddy
|
||||
|
||||
```caddyfile
|
||||
panel.example.com {
|
||||
reverse_proxy localhost:8080
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Komplexes Setup mit MariaDB + Redis
|
||||
- Benötigt Pterodactyl Wings auf Game-Servern
|
||||
51
stacks/pterodactyl-panel/compose.yml
Normal file
51
stacks/pterodactyl-panel/compose.yml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
services:
|
||||
pterodactyl-panel:
|
||||
image: ghcr.io/pterodactyl/panel:latest
|
||||
container_name: pterodactyl-panel
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:8080:80"
|
||||
- "127.0.0.1:8443:443"
|
||||
volumes:
|
||||
- pterodactyl_panel_var:/var/www/pterodactyl/var
|
||||
- pterodactyl_panel_nginx:/etc/ssl/pterodactyl
|
||||
environment:
|
||||
- TRUSTED_PROXIES=*
|
||||
networks:
|
||||
- pterodactyl-network
|
||||
depends_on:
|
||||
- pterodactyl-db
|
||||
- pterodactyl-cache
|
||||
|
||||
pterodactyl-db:
|
||||
image: mariadb:10.5
|
||||
container_name: pterodactyl-db
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- pterodactyl_db:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_DATABASE=panel
|
||||
- MYSQL_USER=pterodactyl
|
||||
- MYSQL_PASSWORD=pterodactyl
|
||||
- MYSQL_ROOT_PASSWORD=rootpassword
|
||||
networks:
|
||||
- pterodactyl-network
|
||||
|
||||
pterodactyl-cache:
|
||||
image: redis:alpine
|
||||
container_name: pterodactyl-cache
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- pterodactyl_cache:/data
|
||||
networks:
|
||||
- pterodactyl-network
|
||||
|
||||
volumes:
|
||||
pterodactyl_panel_var:
|
||||
pterodactyl_panel_nginx:
|
||||
pterodactyl_db:
|
||||
pterodactyl_cache:
|
||||
|
||||
networks:
|
||||
pterodactyl-network:
|
||||
driver: bridge
|
||||
4
stacks/pterodactyl-panel/stack.toml
Normal file
4
stacks/pterodactyl-panel/stack.toml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[[stacks]]
|
||||
name = "pterodactyl-panel"
|
||||
description = "Game Server Management"
|
||||
compose_path = "compose.yml"
|
||||
Loading…
Add table
Add a link
Reference in a new issue