- Install docker (ex:
curl -fsSL https://get.docker.com | sh) - Copy
*.env.examplefiles to*.envand edit - Edit
compose.yamltemplates at the beginning - Create
APPDATA_VOLUMEandSTORAGE_VOLUMEfolders/mountpoints - Open
80,443(traefik entrypoints),3478(nextcloud-talk entrypoint) and51413(transmission seeding) ports in router and firewall docker compose up -d --build && sudo chown -R --reference=${HOME} ${APPDATA_VOLUME}/*- Use
docker compose up -d --build --waitor./bin/graceful_start.shto start - Change the ownership of the files under
APPDATA_VOLUME(e.g.source .env && sudo chown -R --reference=${HOME} ${APPDATA_VOLUME}/*) immediately after volume creation
- Use
- Wait for containers to be in a healthy state, then stop some of them to patch
docker compose stop organizr && ./bin/appdata_patcher.sh && docker compose up -d organizr - Configure web applications manually as indicated in the section below
- devices: compose sections
- adapt
jellyfincompose config to your hardware decoders - add your disks to
scrutinycompose config
- adapt
- TODO
subo bash -c 'echo "ignore-warnings ARM64-COW-BUG" >> ${APPDATA_VOLUME?}/gitlab/data/redis/redis.conf'
- LLDAP
lldap.${HOST}- Setup Organizr to pass auth on lldap endpoint if needed (TODO)
- Create users
- TODO
- NextCloud AIO
aio.cloud.${HOST}- Specify
cloud.${HOST}in certain field - Change TZ
- Specify apps to install and install
- I prefer to enable all except ClamAV (antivirus) and Docker Socket Proxy
- Specify backup location
/tank/backupand generate password
- Specify
- NextCloud
cloud.${HOST}/settings/apps/disabled/files_externalEnableExternal storage supportapp/user_ldapEnableLDAP user and group backendapp
/admin/externalstorages- Storage;Local;None;/tank/storage;All users
/admin/ldap/admin/overviewCreate backup in AIO after setup
- Organizr
${HOST}- LDAP
/#settings-settings-main=>Authentication=> setBind Password - Setup tabs TODO
- LDAP
- JellyFin
media.${HOST}/web/index.html#!/addplugin.html?name=LDAP%20Authentication- Install LDAP plugin
/dashboard.htmlShutdown (docker will reboot jellyfin)/configurationpage?name=LDAP-Auth- TODO
/networking.htmlAllow remote connections to this server
- TODO Add Media Libraries
- *arr
- TODO
- WAN => fail2ban => docker network
- 80,443/tcp traefik
- 80 is redirected to 443
- 443 refer to docker-hosted services
- gitlab.${HOST} (TODO)
- whoami.${HOST} (for testing purposes)
- media.${HOST} -> jellyfin (for non-web apps)
- bitwarden.${HOST} -> vaultwarden (TODO)
- cloud.${HOST} -> nextcloud (TODO)
- auth.${HOST} -> authelia
- rest services use authelia auth
- 3478/all nextcloud-talk
- 21114-21119/tcp,21116/udp rustdesk
- 22000/all syncthing
- 51413/all transmission
- 80,443/tcp traefik
- LAN => docker network
- 8096 jellyfin webUI
- 1900/udp jellyfin service discovery (DNLA)
- 7359/udp jellyfin client discovery
- 21027/udp syncthing client discovery
- Domain structure:
${HOST}=> organizrwww.${HOST}=> organizrtraefik.${HOST}=> traefik dashboard- TODO
- Folder structure for media system is:
${STORAGE_VOLUME}/downloads/${STORAGE_VOLUME}/downloads/{,in}completefor downloads${STORAGE_VOLUME}/downloads/torrentsfor torrent files${STORAGE_VOLUME}/downloads/mediafor *arrs and jellyfin media
- Lidarr disabled due to unusable use case for me
- If you need album release software, then uncomment
services.lidarrsection incompose.yaml
- If you need album release software, then uncomment
- Transmission alt speed enabled due to broken pcie on rock-3a to reduce overload
- Target of this build is AMD64
- It was ARM64 before, but I fucked enough with my rock-3a
- CrowdSec cheatsheet
docker compose exec crowdsec cscli metricsdocker compose exec crowdsec cscli alerts listdocker compose exec crowdsec cscli decisions listdocker compose exec crowdsec cscli decisions delete -i x.x.x.x
- software
- is stopping organizr needed for patching?
- why chown?
- speedtest
- move samba and traefik to brand new dir
- maybe add separate env file for acme provider
- ldap
- organizr
- nextcloud
- jellyfin
- patchers
apps/patcher with.envvalues{$APPDATA_VOLUME}/patcher with.envvalues
- organizr SSO ?
- healthchecks ?
- flaresolverr
- glances
- portainer
- radarr
- scrutiny
- sonarr
- traefik
- whoami
- alternate software
- new software
- https://github.com/immich-app/immich
- https://github.com/ramanlabs-in/hachi
- probably, on client with webdav
- https://github.com/fallenbagel/jellyseerr
- https://www.photoprism.app
- software late
- VPN (wireguard)
- inner
- outer
- security
- change lscr.env UID GID
- change passwds
- change ssh-key after complete setup
- use docker secrets
- secure whole server with vpn and/or firewall
- traefik stsSeconds
- SMTP
- authelia
- VPN (wireguard)
- readme roadmap
- PBR section
- check for grammar issues
- podman migration
- (better than docker ?)
- why ?
- nextcloud/all-in-one#3487