Initaler Commit - Glados Docker YMLs
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
# Alles ignorieren
|
||||||
|
*
|
||||||
|
|
||||||
|
# Außer compose files
|
||||||
|
!**/docker-compose.yml
|
||||||
|
!**/compose.yml
|
||||||
|
|
||||||
|
# Und die gitignore selbst
|
||||||
|
!.gitignore
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
services:
|
||||||
|
docker-proxy:
|
||||||
|
image: tecnativa/docker-socket-proxy
|
||||||
|
container_name: docker_proxy
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- CONTAINERS=1
|
||||||
|
- LOGS=1
|
||||||
|
- STATS=1
|
||||||
|
- NETWORKS=1
|
||||||
|
- VOLUMES=1
|
||||||
|
- IMAGES=1
|
||||||
|
- EVENTS=1
|
||||||
|
- INFO=1
|
||||||
|
- VERSION=1
|
||||||
|
- NODES=1
|
||||||
|
- POST=0
|
||||||
|
- DELETE=0
|
||||||
|
- AUTH=0
|
||||||
|
- SECRETS=0
|
||||||
|
- SERVICES=0
|
||||||
|
- TASKS=0
|
||||||
|
- PLUGINS=0
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
networks:
|
||||||
|
- docker_proxy_net
|
||||||
|
ulimits:
|
||||||
|
nproc: 65535
|
||||||
|
nofile:
|
||||||
|
soft: 65535
|
||||||
|
hard: 65535
|
||||||
|
|
||||||
|
networks:
|
||||||
|
docker_proxy_net:
|
||||||
|
name: docker_proxy_net
|
||||||
|
driver: bridge
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
services:
|
||||||
|
dozzle:
|
||||||
|
image: amir20/dozzle:latest
|
||||||
|
container_name: dozzle
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- DOZZLE_AUTH_PROVIDER=simple
|
||||||
|
- DOZZLE_REMOTE_HOST=tcp://docker_proxy:2375
|
||||||
|
- DOZZLE_LEVEL=info
|
||||||
|
- TAILSIZE=300
|
||||||
|
ports:
|
||||||
|
- 8866:8080
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/dozzle/data:/data
|
||||||
|
networks:
|
||||||
|
- docker_proxy_net
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '0.2'
|
||||||
|
memory: 256M
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "/dozzle", "healthcheck"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 30s
|
||||||
|
retries: 5
|
||||||
|
start_period: 30s
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
docker_proxy_net:
|
||||||
|
external: true
|
||||||
|
name: docker_proxy_net
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
services:
|
||||||
|
gitea-db:
|
||||||
|
image: postgres:16
|
||||||
|
container_name: gitea_db
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- POSTGRES_USER=${GITEA_DB_USER}
|
||||||
|
- POSTGRES_PASSWORD=${GITEA_DB_PASSWORD}
|
||||||
|
- POSTGRES_DB=${GITEA_DB_NAME}
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/gitea/db:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U ${GITEA_DB_USER}"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 30s
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '1.0'
|
||||||
|
memory: 512M
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
gitea:
|
||||||
|
image: gitea/gitea:latest
|
||||||
|
container_name: gitea
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
- GITEA__database__DB_TYPE=postgres
|
||||||
|
- GITEA__database__HOST=gitea-db:5432
|
||||||
|
- GITEA__database__NAME=${GITEA_DB_NAME}
|
||||||
|
- GITEA__database__USER=${GITEA_DB_USER}
|
||||||
|
- GITEA__database__PASSWD=${GITEA_DB_PASSWORD}
|
||||||
|
- GITEA__server__DOMAIN=gitea.thodirr.net
|
||||||
|
- GITEA__server__ROOT_URL=http://192.168.178.35:3030
|
||||||
|
- GITEA__server__SSH_DOMAIN=gitea.thodirr.net
|
||||||
|
- GITEA__server__SSH_PORT=2222
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/gitea/data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- 3030:3000
|
||||||
|
- 2222:22
|
||||||
|
depends_on:
|
||||||
|
gitea-db:
|
||||||
|
condition: service_healthy
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:3000"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 60s
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '2.0'
|
||||||
|
memory: 1G
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: gitea_net
|
||||||
Executable
+57
@@ -0,0 +1,57 @@
|
|||||||
|
services:
|
||||||
|
plex:
|
||||||
|
image: lscr.io/linuxserver/plex:latest
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
|
container_name: plex
|
||||||
|
network_mode: host
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- VERSION=public
|
||||||
|
devices:
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/plex:/config
|
||||||
|
- /mnt/datengrab:/Datengrab
|
||||||
|
- /srv/docker/plex/tmp-transcode/:/transcode
|
||||||
|
- /srv/docker/plex/plex-tmp-downloads:/plex-tmp-downloads
|
||||||
|
- /mnt/usb1-2:/Datengrab_USB
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
plex-db-backup:
|
||||||
|
container_name: plex_db_backup
|
||||||
|
image: keinos/sqlite3:latest
|
||||||
|
restart: always
|
||||||
|
user: "1000:100"
|
||||||
|
volumes:
|
||||||
|
- "/volume1/docker/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases:/db_source:ro"
|
||||||
|
- "/volume1/docker/backups/plex:/backup"
|
||||||
|
# WICHTIG: Wir überschreiben den Entrypoint, damit wir eine Endlosschleife nutzen können
|
||||||
|
entrypoint: ["/bin/sh", "-c"]
|
||||||
|
command: >
|
||||||
|
"sleep 10;
|
||||||
|
while true; do
|
||||||
|
TIMESTAMP=$(date +%Y%m%d-%H%M);
|
||||||
|
BACKUP_FILE=/backup/plex_backup_$$TIMESTAMP.sql;
|
||||||
|
echo \"$(date): Starte Plex-Sicherung nach $$BACKUP_FILE...\";
|
||||||
|
|
||||||
|
# Nutzung des -readonly Flags statt URI
|
||||||
|
sqlite3 -readonly /db_source/com.plexapp.plugins.library.db \".backup $$BACKUP_FILE\";
|
||||||
|
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo \"$(date): Sicherung erfolgreich abgeschlossen.\";
|
||||||
|
find /backup -name 'plex_backup_*.sql' -mmin +10080 -delete;
|
||||||
|
else
|
||||||
|
echo \"$(date): FEHLER beim Backup!\";
|
||||||
|
# Falls eine leere Datei entstanden ist, löschen wir sie
|
||||||
|
[ -f \"$$BACKUP_FILE\" ] && [ ! -s \"$$BACKUP_FILE\" ] && rm \"$$BACKUP_FILE\";
|
||||||
|
fi;
|
||||||
|
|
||||||
|
echo \"$(date): Nächster Run in 24 Stunden.\";
|
||||||
|
sleep 86400;
|
||||||
|
done"
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
services:
|
||||||
|
uptime-kuma:
|
||||||
|
image: louislam/uptime-kuma:1
|
||||||
|
container_name: uptime_kuma
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- 3001:3001
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/uptimekuma/data:/app/data
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '0.5'
|
||||||
|
memory: 256M
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "extra/healthcheck"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 30s
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "10m"
|
||||||
|
max-file: "3"
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
services:
|
||||||
|
vikunja-db:
|
||||||
|
image: mariadb:10
|
||||||
|
container_name: vikunja_db
|
||||||
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- MYSQL_ROOT_PASSWORD=${VIKUNJA_DB_ROOT_PASSWORD}
|
||||||
|
- MYSQL_USER=${VIKUNJA_DB_USER}
|
||||||
|
- MYSQL_PASSWORD=${VIKUNJA_DB_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=${VIKUNJA_DB_NAME}
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/vikunja/db:/var/lib/mysql
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
vikunja:
|
||||||
|
image: vikunja/vikunja:latest
|
||||||
|
container_name: vikunja
|
||||||
|
ports:
|
||||||
|
- 3456:3456
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- VIKUNJA_DATABASE_HOST=vikunja-db
|
||||||
|
- VIKUNJA_DATABASE_TYPE=mysql
|
||||||
|
- VIKUNJA_DATABASE_USER=${VIKUNJA_DB_USER}
|
||||||
|
- VIKUNJA_DATABASE_PASSWORD=${VIKUNJA_DB_PASSWORD}
|
||||||
|
- VIKUNJA_DATABASE_NAME=${VIKUNJA_DB_NAME}
|
||||||
|
- VIKUNJA_SERVICE_PUBLICURL=https://vikunja.thodirr.net/
|
||||||
|
volumes:
|
||||||
|
- /srv/docker/vikunja/files:/app/vikunja/files
|
||||||
|
depends_on:
|
||||||
|
- vikunja-db
|
||||||
|
restart: unless-stopped
|
||||||
Reference in New Issue
Block a user