update to current apps

main
Nick Rondeau 2 years ago
parent d7f8761746
commit 662e98fa71

@ -1,5 +1,100 @@
requests.mydomain.com {
requests.rond-eau.com {
handle /* {
reverse_proxy localhost:5055
reverse_proxy 192.168.1.27:5055
}
}
comics.rond-eau.com {
handle /* {
reverse_proxy 192.168.1.27:5000
}
}
mealie.rond-eau.com {
handle /* {
reverse_proxy 192.168.1.27:9925
}
}
filebrowser.rond-eau.com {
handle /* {
reverse_proxy 192.168.1.27:32772
}
}
jellyfin.rond-eau.com {
handle /* {
reverse_proxy 192.168.1.27:8096
}
}
audiobooks.rond-eau.com {
handle /* {
reverse_proxy 192.168.1.27:13378
}
}
nick.rond-eau.com {
handle /* {
reverse_proxy 192.168.1.27:8088
}
}
youtube.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:9999
}
}
requests.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:5055
}
}
library.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:5000
}
}
files.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:32772
}
}
jellyfin.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:8096
}
}
audiobooks.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:13378
}
}
stsh.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:9999
}
}
drone.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:8008
}
}
gitea.rx-nx01.com {
handle /* {
reverse_proxy 192.168.1.27:3003 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
}
}

@ -1,32 +1,56 @@
# docker-media-center
A media center I'm building with Ubuntu and Docker.
# home-server
All self-hosted applications currently in use.
Stack Includes:
- Audiobookshelf
- Bazarr
- Caddy
- Calibre
- Calibre-web
- Cloudflared-Tunnel
- Code-Server
- Dozzle
- DroneCI
- Filebrowser
- Fileflows
- Ghost
- Gitea
- Grafana
- Homarr
- Homebox
- Homepage
- Jellyfin
- Jellystat
- Koillection
- Kavita
- Librespeed
- Lidarr
- Mealie
- meTube
- Navidrone
- Netdata
- Node-Exporter
- NzbHydra2
- Overseerr
- Pi-Hole
- Plex
- Portainer
- Prometheus
- Prowlarr
- Sabnzbd
- Pyload
- QdirStat
- Radarr
- Sonarr
- Prometheus
- Grafana
- Bazarr
- Requestrr
- Overseerr
- Dashy
- Pihole
- Kavita
- Navidrome
- Sabnzbd
- Sonarr
- Stash
- Tatulli
- Librespeed
- Dozzle
- MeTube
- pyLoad
- Caddy
- Gitea
- Code-server
- Tdarr
- Transmission
- Uptime-Kuma
- Vaultwarden
More as I add them.
move prometheus.yaml > home/user/Configs/Prometheus \
move Caddyfile to home/user/Configs/Caddy

@ -0,0 +1,117 @@
---
services:
prometheus:
image: prom/prometheus
container_name: prometheus
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- UMASK_SET=022
volumes:
- /home/ronnic/Configs/Prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- 9292:9090
restart: unless-stopped
node-exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node-exporter
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- UMASK_SET=022
volumes:
- /:/host:ro,rslave
ports:
- 9100:9090
restart: unless-stopped
grafana:
image: grafana/grafana:latest
container_name: grafana
security_opt:
- no-new-privileges:true
restart: unless-stopped
networks:
- default
ports:
- 3000:3000
user: "$UID:$GID"
environment:
GF_INSTALL_PLUGINS: "grafana-clock-panel,grafana-simple-json-datasource,grafana-worldmap-panel,grafana-piechart-panel"
GF_AUTH_DISABLE_LOGIN_FORM: "true"
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
volumes:
- /home/ronnic/Configs/grafana/grafana_storage:/var/lib/grafana
tautulli:
image: ghcr.io/tautulli/tautulli
container_name: tautulli
restart: unless-stopped
volumes:
- /home/ronnic/Configs/Tatulli:/config
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
ports:
- 8181:8181
homarr:
image: ghcr.io/ajnart/homarr:latest
container_name: homarr
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
- /home/ronnic/Configs/homarr/configs:/app/data/configs
- /home/ronnic/Configs/homarr/icons:/app/public/icons
- /home/ronnic/Configs/homarr/data:/data
ports:
- 7575:7575
homepage:
image: ghcr.io/benphelps/homepage:latest
container_name: homepage
restart: unless-stopped
ports:
- 3009:3000
volumes:
- /home/ronnic/Configs/Homepage:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
jellystat-db:
image: postgres:15.2
restart: unless-stopped
environment:
POSTGRES_DB: 'jfstat'
POSTGRES_USER: postgres
POSTGRES_PASSWORD: mypassword
volumes:
- /home/ronnic/Configs/jellyfin/postgres-data:/var/lib/postgresql/data
jellystat:
image: cyfershepard/jellystat:latest
restart: unless-stopped
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: mypassword
POSTGRES_IP: jellystat-db
POSTGRES_PORT: 5432
JWT_SECRET: 'my-secret-jwt-key'
ports:
- "3013:3000"
volumes:
- /home/ronnic/Configs/jellyfin/backup-data:/app/backend/backup-data
depends_on:
- jellystat-db
networks:
default:

@ -0,0 +1,152 @@
networks:
gitea:
external: false
gitlab:
name: gitlab-network
services:
server:
image: gitea/gitea:1.19.0
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=gdb:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- /home/ronnic/Configs/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3003:3000"
- "222:22"
depends_on:
- gdb
gdb:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- /home/ronnic/Configs/gitea/mysql:/var/lib/mysql
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- PASSWORD=${PASSWORD}
- SUDO_PASSWORD=${SUDO_PASSWORD}
volumes:
- /home/ronnic/Configs/Code-server:/config
ports:
- 8443:8443
restart: unless-stopped
qdirstat:
image: lscr.io/linuxserver/qdirstat:latest
container_name: qdirstat
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
volumes:
- /home/ronnic/Configs/Qdirstat/config:/config
- /media:/data
ports:
- 3006:3000
- 3007:3001
restart: unless-stopped
nzbhydra2:
image: lscr.io/linuxserver/nzbhydra2:latest
container_name: nzbhydra2
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
volumes:
- /home/ronnic/Configs/Nzbhydra/data:/config
- /media/easystore/Downloads:/downloads
ports:
- 5076:5076
restart: unless-stopped
fileflows:
image: revenz/fileflows
container_name: fileflows
runtime: nvidia
environment:
- TZ=America/Los_Angeles
- TempPathHost=/temp
- NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /home/ronnic/Configs/fileflows/data:/app/Data
- /home/ronnic/Configs/fileflows/logs:/app/Logs
- /home/ronnic/Configs/fileflows/temp:/temp
ports:
- 5005:5000
restart: unless-stopped
dozzle:
container_name: dozzle
image: amir20/dozzle:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9988:8080
vaultwarden:
container_name: vaultwarden
image: vaultwarden/server:latest
restart: unless-stopped
volumes:
- /home/ronnic/Configs/vaultwarden/vw-data/:/data/
ports:
- 90:80
tunnel:
container_name: cloudflared-vaultwarden
image: cloudflare/cloudflared
restart: unless-stopped
command: tunnel run
environment:
- TUNNEL_TOKEN=eyJhIjoiYmJjMWNhMTk5YzM3YTJkMzQ2MmE4YjY1NmFiZWI1NGQiLCJ0IjoiZTRhNTAyNDktMzBkZS00NmEzLTkxZmQtNzI3NjY2NzM0OWM2IiwicyI6Ik1qUmhZVFkxWmpRdE1XVTNNaTAwTTJSaUxXRXpOV010WVdFNU5tTXlPRGRrTldZeSJ9
homebox:
image: ghcr.io/hay-kot/homebox:latest
# image: ghcr.io/hay-kot/homebox:latest-rootless
container_name: homebox
restart: always
environment:
- HBOX_LOG_LEVEL=info
- HBOX_LOG_FORMAT=text
- HBOX_WEB_MAX_UPLOAD_SIZE=10
volumes:
- /home/ronnic/Configs/homebox/homebox-data:/data/
ports:
- 3100:7745
volumes:
homebox-data:
driver: local

@ -0,0 +1,47 @@
version: '3.4'
services:
drone:
ports:
- '8008:80'
- '444:443'
restart: always
container_name: drone
volumes:
- /home/ronnic/Configs/drone/drone-storage:/data
environment:
- DRONE_GITEA_CLIENT_ID=abc9951e-c64e-4798-8162-9f71f5a2a259
- DRONE_GITEA_CLIENT_SECRET=gto_hbdoigb5ewvtm2hkckpnciunzoenlhb3cesfonjsqmffuxs2yjla
- DRONE_GITEA_SERVER=https://gitea.rx-nx01.com
- DRONE_RPC_SECRET=wb5556g7zviu6cmeflqd27lqqlrtjfogj2iflpc5r2zj2np4d5aa
- DRONE_SERVER_HOST=https://drone.rx-nx01.com
- DRONE_SERVER_PROTO=https
- DRONE_USER_CREATE=username:ronnic,admin:true
image: drone/drone:2
networks:
- drone
drone-runner:
image: drone/drone-runner-docker:1
restart: always
container_name: drone-runner
depends_on:
- drone
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_HOST=drone
- DRONE_RPC_PROTO=http
- DRONE_RPC_SECRET=wb5556g7zviu6cmeflqd27lqqlrtjfogj2iflpc5r2zj2np4d5aa
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NAME=my-drone-runner
networks:
- drone
networks:
drone:
external: false
volumes:
drone-storage:
external: false

@ -0,0 +1,37 @@
version: '3.1'
services:
ghost:
image: ghost:5-alpine
restart: always
ports:
- 8088:2368
environment:
database__client: mysql
database__connection__host: db
database__connection__user: root
database__connection__password: ghost33blog
database__connection__database: ghost
url: https://nick.rond-eau.com
volumes:
- ghost:/var/lib/ghost/content
networks:
- ghost
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: ghost33blog
volumes:
- db:/var/lib/mysql
networks:
- ghost
volumes:
ghost:
db:
networks:
ghost:

@ -0,0 +1,44 @@
version: '3.9'
services:
koillection:
image: koillection/koillection
container_name: Koillection
restart: unless-stopped
ports:
- 4460:80
environment:
- DB_DRIVER=pdo_pgsql
- DB_NAME=koillection
- DB_HOST=db
- DB_PORT=5432
- DB_USER=koillection
- DB_PASSWORD=koillection
- DB_VERSION=16
- PHP_TZ=America/Los_Angeles
- HTTPS_ENABLED=0
- PUID=1000
- PGID=1000
depends_on:
- db
volumes:
- /home/ronnic/Configs/koillection/conf:/conf:rw
- /home/ronnic/Configs/koillection/uploads:/uploads:rw
db:
image: postgres:16
container_name: Koillection-DB
mem_limit: 512m
cpu_shares: 768
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "koillection", "-U", "koillectionuser"]
timeout: 45s
interval: 10s
retries: 10
environment:
- POSTGRES_DB=koillection
- POSTGRES_USER=koillection
- POSTGRES_PASSWORD=koillection
volumes:
- /home/ronnic/Configs/koillection/db:/var/lib/postgresql/data:rw
restart: unless-stopped

@ -0,0 +1,28 @@
---
version: "3.7"
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest
container_name: mealie
ports:
- "9925:9000" #
deploy:
resources:
limits:
memory: 1000M #
volumes:
- /home/ronnic/Configs/mealie:/app/data/
environment:
- ALLOW_SIGNUP=true
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- WEB_GUNICORN=true
- MAX_WORKERS=4
- WEB_CONCURRENCY=4
- BASE_URL=https://mealie.rond-eau.com
restart: always
volumes:
mealie-data:
driver: local

@ -31,6 +31,7 @@ services:
- /media/easystorev/TV5:/tv5
- /media/easystorev/KidsTV2:/kidstv2
- /media/easystore/Movies:/Movies1
- /media/easystorev/movies4:/movies4
ports:
- 8096:8096
restart: unless-stopped
@ -80,6 +81,7 @@ services:
- /media/easystorev/TV5:/tv5
- /media/easystorev/KidsTV2:/kidstv2
- /media/easystore/Movies:/Movies1
- /media/easystorev/movies4:/movies4
restart: unless-stopped
prowlarr:
@ -114,6 +116,7 @@ services:
- /media/easystore4/kidsmovies:/kidsmovies
- /media/easystorev/KidsMovies2:/kidsmovies2
- /media/easystore/Movies:/Movies1
- /media/easystorev/movies4:/movies4
ports:
- 7878:7878
restart: unless-stopped
@ -140,27 +143,27 @@ services:
- 8989:8989
restart: unless-stopped
sonarr-anime:
image: linuxserver/sonarr
container_name: sonarr-anime
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- UMASK_SET=022
volumes:
- /home/ronnic/Configs/Sonarr-anime:/config
- /media/easystore/Downloads:/Downloads
- /media/easystorev/Download:/Download
- /media/mypassport/Anime-Series:/animeseries
- /media/elements/anime-series2:/animeseries2
- /media/easystorev/anime:/anime
ports:
- 9191:8989
restart: unless-stopped
# sonarr-anime:
# image: linuxserver/sonarr
# container_name: sonarr-anime
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=America/Los_Angeles
# - UMASK_SET=022
# volumes:
# - /home/ronnic/Configs/Sonarr-anime:/config
# - /media/easystore/Downloads:/Downloads
# - /media/easystorev/Download:/Download
# - /media/mypassport/Anime-Series:/animeseries
# - /media/elements/anime-series2:/animeseries2
# - /media/easystorev/anime:/anime
# ports:
# - 9191:8989
# restart: unless-stopped
requestrr:
image: lscr.io/linuxserver/requestrr
image: thomst08/requestrr
container_name: requestrr
environment:
- PUID=1000
@ -207,6 +210,7 @@ services:
- /media/easystorev/TV5:/tv5
- /media/easystorev/Download:/Download
- /media/easystore/Movies:/Movies1
- /media/easystorev/movies4:/movies4
ports:
- 6767:6767
restart: unless-stopped
@ -229,19 +233,19 @@ services:
restart: unless-stopped
kavita:
image: jvmilazz0/kavita:latest # Change latest to nightly for latest develop builds (can't go back to stable)
image: jvmilazz0/kavita:latest
container_name: kavita
volumes:
- /media/easystorev/reading/manga:/manga # Manga is just an example you can have the name you want. See the following
- /media/easystorev/reading/comics:/comics # Use as many as you want
- /media/easystorev/reading/magazines:/magazines #
- /media/easystorev/reading/manga:/manga
- /media/easystorev/reading/comics:/comics
- /media/easystorev/reading/magazines:/magazines
- /media/easystorev/reading/tabletop:/tabletop
- /media/easystorev/reading/Guides:/guides
- /home/ronnic/Configs/kavita:/kavita/config # Change './data if you want to have the config files in a different place. # /kavita/config must not be changed
- /home/ronnic/Configs/kavita:/kavita/config
environment:
- TZ=America/Los_Angeles
ports:
- 5000:5000 # Change the public port (the first 5000) if you have conflicts with other services
- 5000:5000
restart: unless-stopped
navidrome:
@ -259,9 +263,11 @@ services:
- ND_PORT=4533
- ND_TRANSCODINGCACHESIZE=100MB
- ND_SESSIONTIMEOUT=24h
- ND_UILOGINBACKGROUNDURL=https://i.redd.it/q9yk6v4n5fic1.jpeg
volumes:
- /home/ronnic/Configs/Navidrome/data:/data
- /media/easystore3/audio:/music:ro
- /media/easystore3/audio:/music
stash:
image: stashapp/stash:latest
container_name: stash
@ -311,20 +317,20 @@ services:
- /media/easystore/Downloads/youtube:/downloads
#pyload-ng:
# image: lscr.io/linuxserver/pyload-ng:latest
# container_name: pyload-ng
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=America/Los_Angeles
# volumes:
# - /home/ronnic/Configs/Pyload:/config
# - /media/easystore/Downloads/pyload:/downloads
# ports:
# - 8001:8000
# - 9666:9666 #optional
# restart: unless-stopped
pyload-ng:
image: lscr.io/linuxserver/pyload-ng:latest
container_name: pyload-ng
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
volumes:
- /home/ronnic/Configs/Pyload:/config
- /media/easystore/Downloads/pyload:/downloads
ports:
- 8001:8000
# - 9666:9666 #optional
restart: unless-stopped
caddy:
container_name: caddy
@ -338,7 +344,7 @@ services:
# - $PWD/site:/srv
- /home/ronnic/Configs/Caddy/data:/data
- /home/ronnic/Configs/Caddy/config:/config
transmission:
image: lscr.io/linuxserver/transmission:latest
@ -362,7 +368,6 @@ services:
- 51415:51413
- 51413:51413/udp
restart: unless-stopped
lidarr:
image: lscr.io/linuxserver/lidarr:latest
@ -373,9 +378,170 @@ services:
- TZ=America/Los_Angeles
volumes:
- /home/ronnic/Configs/Lidarr:/config
- /media/easystore3/audio:/music #optional
- /media/easystore/Downloads:/downloads #optional
- /media/easystore3/audio:/music
- /media/easystore/Downloads:/downloads
ports:
- 8686:8686
restart: unless-stopped
tdarr:
container_name: tdarr
image: ghcr.io/haveagitgat/tdarr:latest
restart: unless-stopped
network_mode: bridge
ports:
- 8265:8265 # webUI port
- 8266:8266 # server port
environment:
- TZ=America/Los_Angeles
- PUID=1000
- PGID=1000
- UMASK_SET=002
- serverIP=192.168.1.27
- serverPort=8266
- webUIPort=8265
- internalNode=true
- inContainer=true
- ffmpegVersion=6
- nodeName=MyInternalNode
- NVIDIA_DRIVER_CAPABILITIES=all
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- /docker/tdarr/server:/app/server
- /docker/tdarr/configs:/app/configs
- /docker/tdarr/logs:/app/logs
- /media/easystore/TV:/tv
- /media/easystore2/Movies:/movies
- /media/mypassport/Anime-Movies:/animemovies
- /media/mypassport/Anime-Series:/animeseries
- /media/elements/anime-series2:/animeseries2
- /media/elements/anime-movies2:/animemovies2
- /media/easystorev/anime:/anime
- /media/easystorev/animemovies/:/animemovies3
- /media/elements/TV2:/tv2
- /media/elements/Movies2:/movies2
- /media/easystore3/Movies3:/movies3
- /media/easystore3/TV3:/tv3
- /media/easystore4/kidsmovies:/kidsmovies
- /media/easystorev/KidsMovies2:/kidsmovies2
- /media/easystore4/kidstv:/kidstv
- /media/easystore4/tv18:/tv18
- /media/easystorev/TV5:/tv5
- /media/easystorev/KidsTV2:/kidstv2
- /media/easystore/Movies:/Movies1
- /media/easystorev/movies4:/movies4
- /transcode_cache:/temp
devices:
- /dev/dri:/dev/dri
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
# node example
tdarr-node:
container_name: tdarr-node
image: ghcr.io/haveagitgat/tdarr_node:latest
restart: unless-stopped
network_mode: service:tdarr
environment:
- TZ=America/Los_Angeles
- PUID=1000
- PGID=1000
- UMASK_SET=002
- nodeName=MyExternalNode
- serverIP=192.168.1.27
- serverPort=8266
- inContainer=true
- ffmpegVersion=6
- NVIDIA_DRIVER_CAPABILITIES=all
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- /home/ronnic/Configs/tdarr/configs:/app/configs
- /home/ronnic/Configs/tdarr/logs:/app/logs
- /media/easystore/TV:/tv
- /media/easystore2/Movies:/movies
- /media/mypassport/Anime-Movies:/animemovies
- /media/mypassport/Anime-Series:/animeseries
- /media/elements/anime-series2:/animeseries2
- /media/elements/anime-movies2:/animemovies2
- /media/easystorev/anime:/anime
- /media/easystorev/animemovies/:/animemovies3
- /media/elements/TV2:/tv2
- /media/elements/Movies2:/movies2
- /media/easystore3/Movies3:/movies3
- /media/easystore3/TV3:/tv3
- /media/easystore4/kidsmovies:/kidsmovies
- /media/easystorev/KidsMovies2:/kidsmovies2
- /media/easystore4/kidstv:/kidstv
- /media/easystore4/tv18:/tv18
- /media/easystorev/TV5:/tv5
- /media/easystorev/KidsTV2:/kidstv2
- /media/easystore/Movies:/Movies1
- /media/easystorev/movies4:/movies4
- /home/ronnic/Configs/tdarr/transcode_cache:/temp
devices:
- /dev/dri:/dev/dri
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
audiobookshelf:
container_name: audiobookshelf
image: ghcr.io/advplyr/audiobookshelf:latest
restart: unless-stopped
ports:
- 13378:80
volumes:
- /media/easystorev/audio/audiobooks:/audiobooks
- /media/easystorev/audio/podcasts:/podcasts
- /home/ronnic/Configs/audiobookshelf/config:/config
- /home/ronnic/Configs/audiobookshelf/metadata:/metadata
calibre-web:
image: linuxserver/calibre-web:0.6.21
container_name: calibre-web
restart: unless-stopped
environment:
- TZ=America/Los_Angeles
- PUID=1000
- PGID=1000
- DOCKER_MODS=linuxserver/calibre-web:calibre
volumes:
- /home/ronnic/Configs/calibre-web/config:/config
- /media/easystorev/reading/Books:/books
- /media/easystorev/reading/Calibre-Library:/calibre-library
ports:
- 8083:8083/tcp
calibre:
image: lscr.io/linuxserver/calibre:latest
container_name: calibre
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- PASSWORD= #optional
- CLI_ARGS= #optional
volumes:
- /home/ronnic/Configs/calibre/data:/config
- /media/easystorev/reading/Calibre-Library:/calibre-library
ports:
- 9080:8080
- 9181:8181
- 9081:8081
restart: unless-stopped

@ -0,0 +1,48 @@
version: "3"
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
- "1080:80/tcp"
environment:
TZ: 'America/Los_Angeles'
WEBPASSWORD: '${SECUREPASSWORD}'
# Volumes store your data between container upgrades
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
restart: unless-stopped
librespeed:
image: lscr.io/linuxserver/librespeed:latest
container_name: librespeed
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- PASSWORD=${SECUREPASSWORD}
- CUSTOM_RESULTS=false #optional
- DB_TYPE=sqlite #optional
- DB_NAME=DB_NAME #optional
- DB_HOSTNAME=DB_HOSTNAME #optional
- DB_USERNAME=DB_USERNAME #optional
- DB_PASSWORD=DB_PASSWORD #optional
- DB_PORT=DB_PORT #optional
volumes:
- /home/ronnic/Configs/Librespeed/config:/config
ports:
- 1082:80
restart: unless-stopped

@ -0,0 +1,28 @@
# Simple docker-compose.yml
# You can change your port or volume location
version: "2.1"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- /portainer/Files/AppData/Config/uptime-kuma-data:/app/data
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 3001:3001 # <Host Port>:<Container Port>
restart: always
netdata:
image: netdata/netdata
container_name: netdata
ports:
- 19999:19999
restart: unless-stopped
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
Loading…
Cancel
Save