Hosted Applications
Info about my locally hosted applications
Nextcloud
Nextcloud is installed as an Add-On in Home Assistant. The Data dir is linked to a TerraMaster NAS folder named nextcloud using Samba/SMB.
Running OCC Commands: Not yet setup
- Configure debugging: https://developers.home-assistant.io/docs/operating-system/debugging/
- Remotely Login to HA through SSH
- Run command:
docker exec addon_db21ed7f_nextcloud_ocr sudo -u abc php /app/www/public/occ SOME_COMMAND
- For an interactive terminal start with
docker exec -ti
...
- For an interactive terminal start with
Also, crontab is probably located here: /data/config/crontab
Useful Nextcloud OCC Commands: https://docs.nextcloud.com/server/latest/admin_manual/occ_command.html
- Scan for new files added from outside NextCloud: files:scan
- Pre-Generate image previews: preview:pre-generate
- Cleanup and mimetype migrations:
maintenance:repair --include-expensive
- Add missing DB indexes:
db:add-missing-indices
Nextcloud DB: Using MariaDB Add-On in Home Assistant
- homeassistant.local:3306
- database: nextcloud
- username: service
Nextcloud config in HA:
Full_Text_Search: false
OCR: false
OCRLANG: eng
PGID: 1000
PUID: 1000
additional_apps: inotify-tools
certfile: fullchain.pem
elasticsearch_server: <ip:port>
enable_thumbnails: true
keyfile: privkey.pem
trusted_domains: >-
home.freakycowbot.com,home.freakycowbot.com:8099,homeassistant.local,192.168.235.211
use_own_certs: true
default_phone_region: EN
networkdisks: //192.168.100.101/nextcloud
cifsusername: nextcloud_user
cifspassword: **REMOVED**
Initial Nextcloud Setup page:
DB credentials originally come from the Nextcloud logs on initial boot.
Using mounted SMB drive for storage (See config above). Not mounted in Home Assistant.
Jellyseer
Installed on server: Media PC, port 5055 using Docker
URL: http://192.168.100.100:5055, http://jaggedjax.chickenkiller.com:5055/
Jellyseer install docs: https://docs.jellyseerr.dev/getting-started/docker?docker-methods=docker-cli
Location: /opt/jellyseerr
Install command:
sudo docker run -d \
--name jellyseerr \
--user=1000:1001 \
-e LOG_LEVEL=debug \
-e TZ=America/Los_Angeles \
-e PORT=5055 `#optional` \
-p 5055:5055 \
-v /opt/jellyseerr:/app/config \
--restart unless-stopped \
fallenbagel/jellyseerr
Update Command:
sudo docker stop jellyseerr && sudo docker rm jellyseerr
sudo docker pull fallenbagel/jellyseerr
And then run the above install command again
Jellyfin
Logs: /var/log/jellyfin
Plugin dir: /var/lib/jellyfin/plugins/
Other/Config dir: /etc/jellyfin/
Tdarr
Automatic video transcoding to H.265 - A more modern and space efficient format
Tdarr server
Running as a Home Assistant addon: https://home.freakycowbot.com/hassio/addon/db21ed7f_tdarr/info
UI: http://homeassistant.local:8265
Tdarr nodes
- Home Assistant - This node can only use CPU transcoding and is trash. It's running alongside the server
- Ideally it should be using VA-API, but it either is not, or this CPU doesn't support H.265
- MediaPC -
/opt/Tdarr/Tdarr_Node
- Pop_OS Dell -
/opt/Tdarr/Tdarr_Node
- Laptop. Can stop service when needed with:
sudo service tdarr stop
- Laptop. Can stop service when needed with:
Node Service
To create a linux service so the Tdarr node automatically starts/runs:
sudo vim /etc/systemd/system/tdarr.service
[Unit]
Description=Tdarr - Audio/Video Library Analytics & Transcode/Remux Automation
Documentation=https://docs.tdarr.io/docs
[Service]
User=william
Group=william
ExecStart=/opt/Tdarr/Tdarr_Node/Tdarr_Node
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl enable tdarr.service
sudo service tdarr start
Nodes should auto-update. See /opt/Tdarr/logs
for update log files
After update not all files are properly marked as executable so the node fails. This command properly sets the necessary files.
sudo chmod +x /opt/Tdarr/Tdarr_Node/Tdarr_Node /opt/Tdarr/Tdarr_Node/Tdarr_Node_Tray /opt/Tdarr/Tdarr_Node/runtime/Tdarr_Node_Runtime /opt/Tdarr/Tdarr_Node/assets/app/ccextractor/linux_x64/ccextractor /opt/Tdarr/Tdarr_Node/assets/app/ffmpeg/linux_x64/ffmpeg /opt/Tdarr/Tdarr_Node/assets/app/ffmpeg/linux_x64/ffprobe /opt/Tdarr/Tdarr_Node/node_modules/exiftool-vendored.pl/bin/exiftool
- Tdarr_Node
- runtime/Tdarr_Node_Runtime
- assets/app/ccextractor/linux_x64/ccextractor
- /opt/Tdarr/Tdarr_Node/assets/app/ffmpeg/linux_x64/ffmpeg
- /opt/Tdarr/Tdarr_Node/assets/app/ffmpeg/linux_x64/ffprobe
- /opt/Tdarr/Tdarr_Node/node_modules/exiftool-vendored.pl/bin/exiftool
Node Configuration
Pop_OS Dell Tdarr_Node_Config.json
{
"nodeName": "Pop_OS Dell",
"serverURL": "http://192.168.235.211:8266",
"serverIP": "192.168.235.211",
"serverPort": "8266",
"handbrakePath": "",
"ffmpegPath": "",
"mkvpropeditPath": "",
"pathTranslators": [
{
"server": "/mnt/transcode_cache/tdarr",
"node": "/mnt/terramaster/transcode_cache/tdarr"
},
{
"server": "/mnt/movies",
"node": "/mnt/terramaster/movies"
},
{
"server": "/mnt/tv",
"node": "/mnt/terramaster/tv"
}
],
"nodeType": "mapped",
"unmappedNodeCache": "/opt/Tdarr/unmappedNodeCache",
"logLevel": "INFO",
"priority": 0,
"cronPluginUpdate": "",
"apiKey": "",
"maxLogSizeMB": 10,
"pollInterval": 2000,
"startPaused": false
}
RustDesk
Installed on server: Media PC as a service. Ports forwarded in router per RustDesk install directions.
- ID Server:
jaggedjax.chickenkiller.com
- Public Key:
fKM0a7UF+m6HZkxNuqVbkaaPzGKY8RAGjjVUmwsGoPc=
Client Setup
You can access your install scripts for clients by going to http://jaggedjax.chickenkiller.com:8000 or just finding them like you would normally.
Once installed:
- Go to Settings > Network > ID/Relay Server
- ID Server: jaggedjax.chickenkiller.com
- Public Key: fKM0a7UF+m6HZkxNuqVbkaaPzGKY8RAGjjVUmwsGoPc=
- The rest can be blank.
- Note: Relay Server may also need jaggedjax.chickenkiller.com for some external access, but probably not.
- ID Server: jaggedjax.chickenkiller.com
Update RustDesk Server:
- Connect to Media PC
- CD to
/home/william
- Run:
./rustdesk_update.sh
You can restart RustDesk server with the following command:
sudo systemctl restart rustdesksignal rustdeskrelay gohttpserver
Installed Clients:
- Media PC:
358 816 069
- Dell PopOS Work:
290 658 077
- System76 Darter Pro:
459 844 153
ControlD
Hosted on: Unifi Cloud Gateway Ultra
IP: 192.168.1.1
The ControlD application is installed on this router to manage DNS.
Install
- SSH into router
- Run command:
sh -c 'sh -c "$(curl -sL https://api.controld.com/dl)" -s cuayo73hcv forced'
- The resolver ID here "cuayo73hcv" comes from the ControlD Endpoint dashboard
Instructions from here: https://docs.controld.com/docs/ctrld#quick-install
Upgrade
- SSH into router
- Run command:
/data/controld/ctrld upgrade
- Can also run the install command again leaving off the "-s XXX forced" arguments