First Custom App

I am looking to add a an app to my ElectricEel server. It is exotic enough I doubt it will there will be enough community interest for others with more experience to do this for me. So I am going to have to do it for myself.

The app I am interested in (SenexCrenshaw/StreamMaster) already has a working configuration I can pull from DockerHub. I just need to learn how to do the TrueNAS side of the configuration.

Where is a good tutorial to guide me through this process?

For the majority of users I’d say you should probably just install the dockge app and manage it there. You’ve also got the option to install an app using YAML in the WebUI (though I find it to be a little less intuitive)

you can take the docker-compose file provided here and use the custom app yaml function to deploy the app.

version: '3.4'

services:
  streammaster:
    image: senexcrenshaw/streammaster:latest
    container_name: streammaster
    ports:
      - 7095:7095
      - 7096:7096 # Only for SSL
    environment:
      - PUID=1000 # UID to Run As
      - PGID=1000 # GID to Run As
    restart: unless-stopped
    volumes:
      - ~/.streammaster:/config
      - ~/.streammaster/tv-logos:/config/tv-logos

you have to create datasets, edit the permissions and adjust the storage paths in the yaml so that it mounts to your datasets, but that should be about it.

the path should look something like this:

/mnt/poolname/datasetname/streammaster/config:/config
/mnt/poolname/datasetname/streammaster/tv-logos:/config/tv-logos

Thanks all! I think you have helped me through the installation phase. Now I think I am in a malconfiguration.

The StreamMaster app is running, but the logs complain about postgreSQL not running properly.

2025-01-31 22:16:26.281955+00:00Allowing use of questionable username.

2025-01-31 22:16:26.282005+00:00Adding group `nonRootGroup’ (GID 568) …

2025-01-31 22:16:26.303246+00:00Done.

2025-01-31 22:16:26.310202+00:00Changing ownership of /app to 568:568

2025-01-31 22:16:29.907030+00:00Changing ownership of /config to 568:568

2025-01-31 22:16:29.913301+00:00Configuration:

2025-01-31 22:16:29.913323+00:00--------------

2025-01-31 22:16:29.913334+00:00HOST:

2025-01-31 22:16:29.913343+00:00Default Port: 7095

2025-01-31 22:16:29.913352+00:00Default SSL Port: 7096

2025-01-31 22:16:29.913361+00:00PGADMIN:

2025-01-31 22:16:29.913369+00:00Platform Type: debian

2025-01-31 22:16:29.913385+00:00Setup Email: admin@sm.com

2025-01-31 22:16:29.913394+00:00Setup Password: ********

2025-01-31 22:16:29.913403+00:00POSTGRES:

2025-01-31 22:16:29.913412+00:00User: postgres

2025-01-31 22:16:29.913420+00:00Password: ********

2025-01-31 22:16:29.913436+00:00DB Name: StreamMaster

2025-01-31 22:16:29.913445+00:00Host: 127.0.0.1

2025-01-31 22:16:29.913456+00:00Is DB Local: 1

2025-01-31 22:16:29.913465+00:00Data Directory: /config/DB

2025-01-31 22:16:29.913474+00:00Set Perms: 1

2025-01-31 22:16:29.913483+00:00OS:

2025-01-31 22:16:29.913496+00:00User: 568 Group: 568

2025-01-31 22:16:29.913505+00:00User: postgres Group: postgres

2025-01-31 22:16:29.915461+00:00UID: 100 GID: 102

2025-01-31 22:16:29.934743+00:00mkdir: cannot create directory ‘/config’: Permission denied

2025-01-31 22:16:29.944557+00:00Attempt 1: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:16:34.966450+00:00Attempt 2: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:16:39.988945+00:00Attempt 3: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:16:45.011462+00:00Attempt 4: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:16:50.034586+00:00Attempt 5: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:16:55.057021+00:00Attempt 6: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:00.079129+00:00Attempt 7: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:05.101735+00:00Attempt 8: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:10.124102+00:00Attempt 9: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:15.146407+00:00Attempt 10: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:20.169367+00:00Attempt 11: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:25.191643+00:00Attempt 12: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:30.213590+00:00Attempt 13: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:35.235991+00:00Attempt 14: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:40.258170+00:00Attempt 15: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:45.280492+00:00Attempt 16: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:50.303005+00:00Attempt 17: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:17:55.326725+00:00Attempt 18: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:18:00.349893+00:00Attempt 19: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:18:05.372050+00:00Attempt 20: PostgreSQL is not yet ready on 127.0.0.1:5432. Retrying in 5 seconds…

2025-01-31 22:18:10.373030+00:00Error: PostgreSQL on 127.0.0.1:5432 is not ready after 20 attempts.

My question is: Is this an example of my error, an idiosyncrasy of Scale, or an error in StreamMaster’s domain?

One thing I did note my Truenas configuration does not have a postgres User/Group. Is this where I am wrong? What is the procedure to fix this then? Create the user, and then add permissions where?

Postgress want permissions for a user id 999 (net data), give that user permission to your datasets and you should be good