mirror of
https://github.com/mr-vercetti/homeserver.git
synced 2025-04-24 18:51:49 +02:00
Compare commits
3 Commits
e1c25b02d3
...
37d1b55a5d
Author | SHA1 | Date | |
---|---|---|---|
|
37d1b55a5d | ||
|
627b23466f | ||
|
7f249f593b |
31
README.md
31
README.md
@ -1,39 +1,43 @@
|
||||
# mr-vercetti/homeserver
|
||||

|
||||
|
||||
This is my home server project that I started because I value the privacy of my data, I don't like paying subscriptions and because self-hosting is really fucking cool.
|
||||
This is my home server project that I started because I value the privacy of my data, I don't like paying subscriptions and because self-hosting is really cool.
|
||||
|
||||
## Core services
|
||||
All services are deployed using Docker compose and are run as a non-root user.
|
||||
## Services
|
||||
All services are deployed using Docker Compose stacks.
|
||||
|
||||
### Maintenance
|
||||
* [ddclient](https://github.com/linuxserver/docker-ddclient) - DDNS
|
||||
* [SWAG](https://github.com/linuxserver/docker-swag) - reverse proxy with SSL certbot and fail2ban
|
||||
* [watchtower](https://github.com/containrrr/watchtower) - notifications about docker image updates
|
||||
* [Duplicati](https://github.com/linuxserver/docker-duplicati) - cool backup
|
||||
software
|
||||
* [Backrest](https://github.com/garethgeorge/backrest) - backup solution, restic frontend
|
||||
* [Uptime Kuma](https://github.com/louislam/uptime-kuma) - fancy uptime monitoring tool
|
||||
* [Scrutiny](https://github.com/AnalogJ/scrutiny) - S.M.A.R.T monitoring
|
||||
* [Beszel](https://github.com/henrygd/beszel) - monitoring dashboard
|
||||
* [Dozzle](https://github.com/amir20/dozzle) - Docker logs viewer
|
||||
* [gluetun](https://github.com/qdm12/gluetun) - VPN client
|
||||
|
||||
### Media
|
||||
* [Jellyfin](https://github.com/linuxserver/docker-jellyfin) - media server
|
||||
* [Jellyseer](https://github.com/fallenbagel/jellyseerr) - media request manager
|
||||
* [Radarr](https://github.com/linuxserver/docker-radarr) - movie collection manager
|
||||
* [Sonarr](https://github.com/linuxserver/docker-sonarr) - TV show collection manager
|
||||
* [Bazarr](https://github.com/linuxserver/docker-bazarr) - subtitle manager
|
||||
* [qbittorrentvpn](https://github.com/binhex/arch-qbittorrentvpn) - qbittorrent with VPN and
|
||||
Privoxy + [VueTorrent](https://github.com/VueTorrent/VueTorrent) - cute WebUI
|
||||
* [qBittorrent](https://github.com/linuxserver/docker-qbittorrent) - qBittorrent + [VueTorrent](https://github.com/VueTorrent/VueTorrent) - cute WebUI
|
||||
for qBittorrent
|
||||
* [YoutubeDL](https://github.com/Tzahi12345/YoutubeDL-Material) - Youtube media downloader
|
||||
* [YoutubeDL](https://github.com/Tzahi12345/YoutubeDL-Material) - YouTube media downloader
|
||||
* [Prowlarr](https://github.com/Prowlarr/Prowlarr) - indexer
|
||||
* [Lidarr](https://github.com/Lidarr/Lidarr) - music library manager
|
||||
* [miniDLNA](https://github.com/vladgh/docker_base_images/tree/main/minidlna) - DLNA server
|
||||
* [slskd](https://github.com/slskd/slskd) - soulseek client
|
||||
* [Calibre](https://github.com/crocodilestick/Calibre-Web-Automated) - ebook
|
||||
manager
|
||||
* [Calibre-downloader](https://github.com/calibrain/calibre-web-automated-book-downloader) - ebook downloader
|
||||
|
||||
### Personal cloud
|
||||
* [Nextcloud](https://github.com/linuxserver/docker-nextcloud) - filesync/cloud solution
|
||||
* [Redis](https://github.com/docker-library/redis) - cache service
|
||||
* [MariaDB](https://github.com/linuxserver/docker-mariadb) - database
|
||||
* [Collabora](https://github.com/CollaboraOnline/online) - office suite
|
||||
* [Ghostfolio](https://github.com/ghostfolio/ghostfolio) - wealth mgmt app
|
||||
|
||||
### Software development
|
||||
* [Gitea](https://github.com/go-gitea/gitea) - git web service
|
||||
@ -44,10 +48,9 @@ for qBittorrent
|
||||
* [Wireguard](https://github.com/linuxserver/docker-wireguard) - VPN server
|
||||
* [Homer](https://github.com/bastienwirtz/homer) - simple dashboard to keep services on hand
|
||||
* [mr.vercetti.cc](https://git.vercetti.cc/mr-vercetti/mr.vercetti.cc) - my personal blog
|
||||
* [widmo.cc](https://git.vercetti.cc/mr-vercetti/widmo.cc) - my film photo
|
||||
project
|
||||
* [listmonk](https://github.com/knadh/listmonk) - mail sending/newsletter service
|
||||
|
||||
## Storage solution
|
||||
I went with [MergerFS](https://github.com/trapexit/mergerfs) and [SnapRAID](https://github.com/amadvance/snapraid), which allows me a great deal of flexibility and still keeps my data safe. Array is synchronized and scrubbed automatically via [snapraid-runner](https://github.com/Chronial/snapraid-runner) running from crontab.
|
||||
|
||||
## Setup
|
||||
To be completed.
|
||||
I went with [MergerFS](https://github.com/trapexit/mergerfs) and [SnapRAID](https://github.com/amadvance/snapraid), which allows me a great deal of flexibility and still keeps my data safe. Array is synchronized and scrubbed automatically using [snapraid-runner](https://github.com/Chronial/snapraid-runner) running from crontab.
|
||||
|
4
crontab
4
crontab
@ -1,6 +1,6 @@
|
||||
# SnapRAID
|
||||
30 4 * * 0 python3 /opt/snapraid-runner/snapraid-runner.py --conf /etc/snapraid-runner.conf --ignore-deletethreshold
|
||||
30 4 * * * 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
|
||||
0 1 * * * /apps/homeserver/docker/torguard-fix.sh
|
||||
|
@ -182,21 +182,55 @@ services:
|
||||
restart: unless-stopped
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
calibre:
|
||||
image: crocodilestick/calibre-web-automated
|
||||
container_name: calibre
|
||||
environment:
|
||||
- PUID=${PUID}
|
||||
- PGID=${PGID}
|
||||
- TZ=${TIMEZONE}
|
||||
volumes:
|
||||
- ${APPS_DIR}/calibre:/config
|
||||
- ${DATA_DIR}/calibre/ingest:/cwa-book-ingest
|
||||
- ${DATA_DIR}/calibre/library:/calibre-library
|
||||
networks:
|
||||
- media
|
||||
ports:
|
||||
- 8083:8083
|
||||
restart: unless-stopped
|
||||
|
||||
calibre-downloader:
|
||||
image: ghcr.io/calibrain/calibre-web-automated-book-downloader
|
||||
container_name: calibre-downloader
|
||||
environment:
|
||||
- FLASK_PORT=8084
|
||||
- FLASK_DEBUG=false
|
||||
- CLOUDFLARE_PROXY_URL=http://flaresolverr:8191
|
||||
- INGEST_DIR=/cwa-book-ingest
|
||||
- BOOK_LANGUAGE=pl
|
||||
volumes:
|
||||
- ${DATA_DIR}/calibre/ingest:/cwa-book-ingest
|
||||
networks:
|
||||
- media
|
||||
ports:
|
||||
- 8084:8084
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
|
Loading…
x
Reference in New Issue
Block a user