mirror of
https://github.com/mr-vercetti/homeserver.git
synced 2025-01-18 16:25:35 +01:00
Compare commits
3 Commits
369f7b7dc8
...
5fcb61e4c9
Author | SHA1 | Date | |
---|---|---|---|
|
5fcb61e4c9 | ||
|
94994a678f | ||
|
24f4ec532f |
6
crontab
Normal file
6
crontab
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# SnapRAID
|
||||||
|
30 4 * * 0 python3 /opt/snapraid-runner/snapraid-runner.py --conf /etc/snapraid-runner.conf --ignore-deletethreshold
|
||||||
|
# LG TV renew dev mode (https://github.com/webosbrew/dev-manager-desktop)
|
||||||
|
0 * * * * /etc/tv-renew-devmode.sh >> /var/log/tv-renew-devmode.log 2>&1
|
||||||
|
# DNS issues fix with Torguard
|
||||||
|
0 5 * * * /apps/homeserver/docker/torguard-fix.sh
|
@ -86,3 +86,13 @@ GHOSTFOLIO_DB_USER=
|
|||||||
GHOSTFOLIO_DB_PASSWORD=
|
GHOSTFOLIO_DB_PASSWORD=
|
||||||
GHOSTFOLIO_DB_URL=postgresql://${GHOSTFOLIO_DB_USER}:${GHOSTFOLIO_DB_PASSWORD}@ghostfolio-db:5432/${GHOSTFOLIO_DB}?connect_timeout=300&sslmode=prefer
|
GHOSTFOLIO_DB_URL=postgresql://${GHOSTFOLIO_DB_USER}:${GHOSTFOLIO_DB_PASSWORD}@ghostfolio-db:5432/${GHOSTFOLIO_DB}?connect_timeout=300&sslmode=prefer
|
||||||
GHOSTFOLIO_REDIS_PASSWORD=
|
GHOSTFOLIO_REDIS_PASSWORD=
|
||||||
|
|
||||||
|
# joplin
|
||||||
|
JOPLIN_POSTGRES_USER=
|
||||||
|
JOPLIN_POSTGRES_PASSWORD=
|
||||||
|
JOPLIN_POSTGRES_DB=
|
||||||
|
JOPLIN_BASE_URL=
|
||||||
|
|
||||||
|
# slskd
|
||||||
|
SLSKD_SLSK_USERNAME=
|
||||||
|
SLSKD_SLSK_PASSWORD=
|
||||||
|
18
docker/additional-stacks/homarr/homarr.yml
Normal file
18
docker/additional-stacks/homarr/homarr.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
services:
|
||||||
|
homarr:
|
||||||
|
container_name: homarr
|
||||||
|
image: ghcr.io/ajnart/homarr
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ${APPS_DIR}/homarr/configs:/app/data/configs
|
||||||
|
- ${APPS_DIR}/homarr/icons:/app/public/icons
|
||||||
|
- ${APPS_DIR}/homarr/data:/data
|
||||||
|
networks:
|
||||||
|
- homarr
|
||||||
|
ports:
|
||||||
|
- '7575:7575'
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
homarr:
|
||||||
|
name: homarr
|
43
docker/additional-stacks/joplin/joplin.yml
Normal file
43
docker/additional-stacks/joplin/joplin.yml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
services:
|
||||||
|
joplin-db:
|
||||||
|
image: postgres:16
|
||||||
|
container_name: joplin-db
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/joplin/postgres:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- joplin
|
||||||
|
ports:
|
||||||
|
- "5432:5432"
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- POSTGRES_PASSWORD=${JOPLIN_POSTGRES_PASSWORD}
|
||||||
|
- POSTGRES_USER=${JOPLIN_POSTGRES_USER}
|
||||||
|
- POSTGRES_DB=${JOPLIN_POSTGRES_DB}
|
||||||
|
|
||||||
|
joplin:
|
||||||
|
image: joplin/server
|
||||||
|
container_name: joplin
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- joplin
|
||||||
|
ports:
|
||||||
|
- "22300:22300"
|
||||||
|
environment:
|
||||||
|
- APP_PORT=22300
|
||||||
|
- APP_BASE_URL=${JOPLIN_BASE_URL}
|
||||||
|
- DB_CLIENT=pg
|
||||||
|
- POSTGRES_PASSWORD=${JOPLIN_POSTGRES_PASSWORD}
|
||||||
|
- POSTGRES_DATABASE=${JOPLIN_POSTGRES_DB}
|
||||||
|
- POSTGRES_USER=${JOPLIN_POSTGRES_USER}
|
||||||
|
- POSTGRES_PORT=5432
|
||||||
|
- POSTGRES_HOST=joplin-db
|
||||||
|
depends_on:
|
||||||
|
- joplin-db
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external:
|
||||||
|
name: proxy
|
||||||
|
joplin:
|
||||||
|
name: joplin
|
33
docker/additional-stacks/qbittorrentvpn/qbittorrentvpn.yml
Normal file
33
docker/additional-stacks/qbittorrentvpn/qbittorrentvpn.yml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
qbittorrentvpn:
|
||||||
|
image: binhex/arch-qbittorrentvpn
|
||||||
|
container_name: qbittorrentvpn
|
||||||
|
networks:
|
||||||
|
- media
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN
|
||||||
|
environment:
|
||||||
|
- PUID=${PUID}
|
||||||
|
- PGID=${PGID}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- VPN_ENABLED=yes
|
||||||
|
- VPN_PROV=custom
|
||||||
|
- VPN_CLIENT=wireguard
|
||||||
|
- ENABLE_PRIVOXY=no
|
||||||
|
- LAN_NETWORK=${LAN_NETWORK}
|
||||||
|
- NAME_SERVERS=1.1.1.1, 1.0.0.1
|
||||||
|
- WEBUI_PORT=8183
|
||||||
|
- DEBUG=true
|
||||||
|
- UMASK=000
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/qbittorrentvpn:/config
|
||||||
|
- ${DATA_DIR}/downloads:/data
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- 8183:8183
|
||||||
|
- 8118:8118
|
||||||
|
- 6881:6881
|
||||||
|
- 6881:6881/udp
|
||||||
|
sysctls:
|
||||||
|
- "net.ipv4.conf.all.src_valid_mark=1"
|
||||||
|
privileged: true
|
||||||
|
restart: unless-stopped
|
@ -1,27 +1,50 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ $# -ne 1 ]; then
|
BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
echo "Please provide command to execute: 'up', 'stop' or 'restart'"
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "Please provide command to execute: 'up', 'stop', 'restart', or 'recreate'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
command="$1"
|
command="$1"
|
||||||
|
|
||||||
for stack in stacks/*/*
|
|
||||||
do
|
|
||||||
case "$command" in
|
case "$command" in
|
||||||
"up")
|
"up")
|
||||||
docker-compose -f "${stack}" --env-file .env up -d
|
for stack in "$BASE_DIR"/stacks/*/*
|
||||||
|
do
|
||||||
|
docker-compose -f "${stack}" --env-file "$BASE_DIR/.env" up -d
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
"stop")
|
"stop" | "restart")
|
||||||
docker-compose -f "${stack}" --env-file .env stop
|
for stack in "$BASE_DIR"/stacks/*/*
|
||||||
|
do
|
||||||
|
docker-compose -f "${stack}" --env-file "$BASE_DIR/.env" $command
|
||||||
|
done
|
||||||
;;
|
;;
|
||||||
"restart")
|
"recreate")
|
||||||
docker-compose -f "${stack}" --env-file .env restart
|
if [ $# -lt 3 ]; then
|
||||||
|
echo "Please provide both the stack name and the service to recreate"
|
||||||
|
echo "Usage: $0 recreate <stack_name> <service_name>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
stack_name="$2"
|
||||||
|
service="$3"
|
||||||
|
stack_file="$BASE_DIR/stacks/${stack_name}/${stack_name}.yml"
|
||||||
|
|
||||||
|
if [ ! -f "$stack_file" ]; then
|
||||||
|
echo "Stack file '$stack_file' does not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker-compose -f "${stack_file}" --env-file "$BASE_DIR/.env" stop "$service"
|
||||||
|
docker-compose -f "${stack_file}" --env-file "$BASE_DIR/.env" rm -f "$service"
|
||||||
|
docker-compose -f "${stack_file}" --env-file "$BASE_DIR/.env" up -d "$service"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Wrong command. Please use 'up', 'stop' or 'restart'"
|
echo "Wrong command. Please use 'up', 'stop', 'restart', or 'recreate'"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
collabora:
|
collabora:
|
||||||
image: collabora/code
|
image: collabora/code:24.04.6.1.1
|
||||||
container_name: collabora
|
container_name: collabora
|
||||||
environment:
|
environment:
|
||||||
- password=${COLLABORA_PASSWORD}
|
- password=${COLLABORA_PASSWORD}
|
||||||
|
@ -13,7 +13,9 @@ services:
|
|||||||
- gluetun
|
- gluetun
|
||||||
ports:
|
ports:
|
||||||
# qbittorrent
|
# qbittorrent
|
||||||
- '8183:8183'
|
- "8183:8183"
|
||||||
|
# slskd
|
||||||
|
- "5030:5030"
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
gluetun:
|
gluetun:
|
@ -16,6 +16,7 @@ services:
|
|||||||
- ${APPS_DIR}/jellyfin:/config
|
- ${APPS_DIR}/jellyfin:/config
|
||||||
- ${DATA_DIR}/media/movies:/data/movies:ro
|
- ${DATA_DIR}/media/movies:/data/movies:ro
|
||||||
- ${DATA_DIR}/media/tvshows:/data/tvshows:ro
|
- ${DATA_DIR}/media/tvshows:/data/tvshows:ro
|
||||||
|
- ${DATA_DIR}/media/music:/data/music:ro
|
||||||
ports:
|
ports:
|
||||||
- 8096:8096
|
- 8096:8096
|
||||||
devices:
|
devices:
|
||||||
@ -36,7 +37,7 @@ services:
|
|||||||
- ${DATA_DIR}/media/music:/media
|
- ${DATA_DIR}/media/music:/media
|
||||||
|
|
||||||
radarr:
|
radarr:
|
||||||
image: lscr.io/linuxserver/radarr:4.3.2
|
image: lscr.io/linuxserver/radarr
|
||||||
container_name: radarr
|
container_name: radarr
|
||||||
networks:
|
networks:
|
||||||
- media
|
- media
|
||||||
@ -129,38 +130,20 @@ services:
|
|||||||
- 8686:8686
|
- 8686:8686
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
qbittorrentvpn:
|
qbittorrent:
|
||||||
image: binhex/arch-qbittorrentvpn
|
image: linuxserver/qbittorrent
|
||||||
container_name: qbittorrentvpn
|
container_name: qbittorrent
|
||||||
networks:
|
|
||||||
- media
|
|
||||||
cap_add:
|
|
||||||
- NET_ADMIN
|
|
||||||
environment:
|
environment:
|
||||||
- PUID=${PUID}
|
- PUID=${PUID}
|
||||||
- PGID=${PGID}
|
- PGID=${PGID}
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
- VPN_ENABLED=yes
|
- UMASK_SET=022
|
||||||
- VPN_PROV=custom
|
|
||||||
- VPN_CLIENT=wireguard
|
|
||||||
- ENABLE_PRIVOXY=yes
|
|
||||||
- LAN_NETWORK=${LAN_NETWORK}
|
|
||||||
- NAME_SERVERS=1.1.1.1, 1.0.0.1
|
|
||||||
- WEBUI_PORT=8183
|
- WEBUI_PORT=8183
|
||||||
- DEBUG=true
|
network_mode: "container:gluetun"
|
||||||
- UMASK=000
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${APPS_DIR}/qbittorrentvpn:/config
|
- ${APPS_DIR}/qbittorrent/config:/config
|
||||||
- ${DATA_DIR}/downloads:/data
|
- ${DATA_DIR}/downloads:/downloads
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- ${APPS_DIR}/qbittorrent/vuetorrent:/vuetorrent
|
||||||
ports:
|
|
||||||
- 8183:8183
|
|
||||||
- 8118:8118
|
|
||||||
- 6881:6881
|
|
||||||
- 6881:6881/udp
|
|
||||||
sysctls:
|
|
||||||
- "net.ipv4.conf.all.src_valid_mark=1"
|
|
||||||
privileged: true
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
ytdl-material:
|
ytdl-material:
|
||||||
|
17
docker/stacks/slskd/slskd.yaml
Normal file
17
docker/stacks/slskd/slskd.yaml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
services:
|
||||||
|
slskd:
|
||||||
|
image: slskd/slskd
|
||||||
|
container_name: slskd
|
||||||
|
user: ${PUID}:${PGID}
|
||||||
|
environment:
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- SLSKD_REMOTE_FILE_MANAGEMENT=true
|
||||||
|
- SLSKD_SLSK_USERNAME=${SLSKD_SLSK_USERNAME}
|
||||||
|
- SLSKD_SLSK_PASSWORD=${SLSKD_SLSK_PASSWORD}
|
||||||
|
- SLSKD_SHARED_DIR=/app/downloads
|
||||||
|
network_mode: "container:gluetun"
|
||||||
|
volumes:
|
||||||
|
- ${APPS_DIR}/slskd:/app/data
|
||||||
|
- ${DATA_DIR}/downloads/slskd/incomplete:/app/incomplete
|
||||||
|
- ${DATA_DIR}/media/music:/app/downloads
|
||||||
|
restart: unless-stopped
|
17
docker/stacks/widmocc/widmocc.yml
Normal file
17
docker/stacks/widmocc/widmocc.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
services:
|
||||||
|
widmocc:
|
||||||
|
image: mrvercetti/widmocc
|
||||||
|
container_name: widmocc
|
||||||
|
networks:
|
||||||
|
- widmocc
|
||||||
|
- proxy
|
||||||
|
ports:
|
||||||
|
- 1313:80
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external:
|
||||||
|
name: proxy
|
||||||
|
widmocc:
|
||||||
|
name: widmocc
|
12
docker/torguard-fix.sh
Executable file
12
docker/torguard-fix.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
dir="/apps/homeserver/docker/appdata/gluetun/wireguard"
|
||||||
|
file="$dir/wg0.conf"
|
||||||
|
file_old="$dir/wg0.conf.old"
|
||||||
|
file_tmp="$dir/wg0.conf.tmp"
|
||||||
|
|
||||||
|
mv $file $file_tmp
|
||||||
|
mv $file_old $file
|
||||||
|
mv $file_tmp $file_old
|
||||||
|
|
||||||
|
bash /apps/homeserver/docker/mgmt.sh recreate media qbittorrentvpn
|
Loading…
Reference in New Issue
Block a user