All apps · 0 apps
tofa
Docker app from tofa's Repository
Overview
Readme
View on GitHubtofa on Unraid
tofa is a media server for your movies and shows. One container runs everything: the server, its own database, automatic backups, and its own video engine for hardware transcoding. Point it at your media, claim the server with your tofa account, and watch on the web, Apple TV, iPhone, iPad, Android TV, and Windows.
tofa is in beta. You need a tofa account to claim a server; you can sign up at tofa.tv.
Install
Install tofa from the Apps tab. Two settings are worth understanding before you click Apply, and both are filled in for you by default:
- Config (
/data) defaults to/mnt/cache/appdata/tofa. tofa runs its own database in there, and databases do a lot of small writes. Paths under/mnt/usergo through Unraid's share layer, which adds overhead to every one of those writes, even when the share lives on your cache pool. Pointing tofa at the pool directly avoids that. If your pool has a different name, adjust the path. - Media (
/media) defaults to/mnt/user/media. Point this at wherever your library lives. Set the mode to Read Only if tofa should never delete files from disk.
PUID and PGID default to 99 and 100, Unraid's nobody user and users
group, which own appdata and shares out of the box. tofa fixes ownership of its
own data folder on every start. It never changes ownership of your media.
The container uses host networking. That is what lets devices on your network connect to tofa directly, and lets tofa ask your router for a port for remote access. tofa listens on port 33333, which avoids the default ports of other media servers, so it can run alongside them.
Claim your server
Open a browser on any device on your network:
http://YOUR-UNRAID-IP:33333
Sign in with your tofa account and claim the server. The first start takes a minute or two while tofa sets up its database. Your server picks up its secure certificate on its own moments after the claim, so there is no need to restart the container.
Then add a library in the web interface and point it at your media inside the
container: /media, or a subfolder like /media/Movies. tofa scans, matches,
and fills in artwork on its own.
Hardware transcoding
- Intel or AMD, including iGPUs: in the container settings, turn on Advanced
View and set the
/dev/dridevice to/dev/drion both sides. Then use Settings, then Transcoding, then Test hardware in the tofa web interface. - NVIDIA: install the Nvidia Driver plugin from Community Applications,
set Extra Parameters to
--init --runtime=nvidia, and add two variables:NVIDIA_VISIBLE_DEVICES=allandNVIDIA_DRIVER_CAPABILITIES=compute,video,utility.
Updates
tofa shows an update banner in the web interface when a new build is out. To apply it, use force update on the container in the Docker tab (turn on Advanced View to see it). Your data and settings live in your appdata path and survive updates.
If something is off
- The container stops right after starting. Check its log from the Docker
tab. If you see a permissions message, confirm
PUIDandPGIDare set to 99 and 100 and that your appdata path is a real disk path like/mnt/cache/appdata/tofa. - My media isn't showing up. Check that the
/mediamapping points at the right share and that thenobodyuser can read those files. Files moved onto the array by other tools occasionally end up with odd ownership; Unraid's New Permissions tool on the Tools tab resets a share tonobody:users. - Playback stutters on big files. Set up hardware transcoding above, and
keep tofa's appdata on a pool device rather than
/mnt/user. - Port 33333 is already in use. Something else on the host claimed it. Stop
that service, or switch the container off host networking and map a different
port. Off host networking tofa cannot detect your server's address by itself,
so also set your Unraid server's LAN IP in the
ADVERTISED_LAN_IPvariable, or under Settings, then Remote Access in the app. That keeps devices at home connecting directly.
Getting help
Once you have a tofa account, the support portal is at https://accounts.tofa.tv/support, and it is also linked from Settings inside the app. Diagnostics from your server attach to a ticket in one click, which is usually the fastest route to an answer.
About this repository
templates/tofa.xml is the Community Applications template for the tofa media
server. Issues with the template itself can be raised here.
Media gallery
1 / 4Install Tofa on Unraid in a few clicks.
Find Tofa in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/tofatv/tofa:betaRuntime arguments
- Web UI
http://[IP]:33333- Network
host- Shell
sh- Privileged
- false
- Extra Params
--init
Template configuration
tofa's own data: database, backups, transcode cache, logs. Keep this on a pool (cache) device, not /mnt/user.
- Target
- /data
- Default
- /mnt/cache/appdata/tofa
- Value
- /mnt/cache/appdata/tofa
Your media library. Set Mode to Read Only if tofa should never delete files from disk.
- Target
- /media
- Default
- /mnt/user/media
- Value
- /mnt/user/media
User id tofa runs as. 99 is Unraid's nobody user, which owns appdata and shares by default.
- Default
- 99
- Value
- 99
Group id tofa runs as. 100 is Unraid's users group.
- Default
- 100
- Value
- 100
File-creation mask for files tofa writes.
- Default
- 0022
- Value
- 0022
Leave empty unless you have an Intel or AMD GPU or iGPU. Set both sides to /dev/dri to let tofa use it for hardware transcoding. NVIDIA users leave this empty and instead install the Nvidia-Driver plugin, add --runtime=nvidia to Extra Parameters, and set NVIDIA_VISIBLE_DEVICES=all plus NVIDIA_DRIVER_CAPABILITIES=compute,video,utility as variables.
- Target
- /dev/dri
Only needed if you switch the container off host networking (bridge/custom network): set it to your Unraid server's LAN IP so devices at home can connect directly. You can also set this later in the app under Settings > Remote Access. With host networking (the default) tofa detects the address automatically and this can stay empty.