Идея проекта такая - сделать домашний сервер для self-hosted приложений, за минимальный бюджет.
Базово он должен выступать как локальное файловое хранилище, с шифрованными, регулярными onsite и offsite бэкапами. Дополнительно использовать в качестве медиасервера с arr stack.
В качестве основы - старый ноутбук, докупил только SSD на 2 TB. Он обошёлся в цену около 100$.
Hardware
- Ноутбук asus UX310
- 2TB SSD основное хр
- 2TB HDD
Tools
- autorestic
- locations
- local hdd disk
- backblaze cloud
- external usb hdd
- entities
- obsidian vault
- syncthing shared folder
- apps data
- documents
- config
- …
- locations
- Immich
- аналог google photos, для бэкапа фото и видео
- syncthing
- для синхронизации музыки и документов на основной ноутбук
- arr stack
- radarr
- sonarr
- bazarr
- jellyseer
- jellyfin
- prowlarr
- samba
- uptime kuma
- healthchecks.io
- cloudflare zero trust
- octoprint
- music stack
- navidrome
- slskd
- beets
- soularr
- lidarr
Disaster recovery plan
- get password for restic repository
- restore data
- start docker containers with apps
- …
Checklist for new app
- keep configs separately mounted
- disable backup for cache files
- enable ssl
- enable monitoring
- is container alive
- is it accessible on http
- does it serve on expected port
- if applicable enable curl healthcheck
- deadman switch
- set up wud
- add to homepage
- add to proxy network
- ensure there is no host port binds
- check if container use correct PGID, PUID
Data file structure
- Documents
- user-xx
- …
- Applications
- app-xx
- data
- config
- docker-compose.yaml
- yy-stack
- data
- app-yy
- …
- config
- app-yy
- …
- docker-compose.yaml
- data
- app-xx
- Media
- Downloads
- Completed
- TV
- Movies
- Music
От чего я отказался
- CasaOS
- Нет возможности менять лейблы у контейнеров, что мешает настроить config discovery
- Удобнее хранить и использовать конфигурацию в простых yaml’ах
- Дополнительная абстракция
- Plex
- Платное приложение для ios
- Авторизация через внешний сервис
- Overseer
- не работает с jellyfin