OliveTin for Channels: An Interface for Misc Channels DVR Scripts & Tricks

The search domain in my firewall was blank, so I followed IETF RFC 8375 and added home.arpa. Might not need it, but thought I'd set it anyway.

I changed the port to 8090. I assumed I needed to change it in both docker compose and environmental variables.

I'm still failing, but I think it's the mkdir /host_mnt/Users/olivetin permission denied causing the problem. I deleted everything except the last few entries:

Deployment error
...
4c3d890028dd Pull complete olivetin Pulled Network olivetin_default Creating Network olivetin_default Created Container static-file-server Creating Container olivetin Creating Container static-file-server Created Container olivetin Created Container olivetin Starting Container static-file-server Starting Error response from daemon: error while creating mount source path '/host_mnt/Users/olivetin/data': mkdir /host_mnt/Users/olivetin: permission denied

No. The port in the Docker Compose (which represents the container-side) needs to stay as it was. Generally, with my Docker Composes, only advanced users might have occasion to edit them. The idea is for everything to done through the env vars. That way, at a glance, you know what's unique to your setup.

One specific thing about Docker on the Mac is that any directory you want to use for a binding needs to be allowed in Docker Desktop Settings-Resources-File Sharing, however the /Users and /Volumes you were using are standard (as shown in the screenshot). Not sure where the /host_mnt part of the path came from, it wasn't in the env vars you posted.

When building the stack, does Access Control need to be disabled? It seems if I leave it checked for Admins, it never finishes. It isn't because I'm running Docker under a user instead of an admin, is it?

Nothing to do with the OS. It's a Portainer thing and you should be the only user with a username and password to access Portainer.

I'm out of ideas. I re-copied the Docker Compose to make sure I didn't mess anything up, deleted and regenerated the Access Token and added the new key to the Environment Variables. I've tried it with and without Access Control enabled. I see 2 images being built in Docker (static-file-server and olivetin), but I'm back to getting nothing from Portainer - just "deployment in process". I am running Portainer from my laptop and not directly on the server, but that shouldn't make a difference.

And this is where I get frustrated. I don't know where to start troubleshooting or what steps I should try next. I appreciate your help, but there's only so much anyone trying to troubleshoot remotely can do.

I'd suggest you try to spin-up Watchtower, using the Docker Compose and env vars from this thread:

Let's see if that will deploy, which will also update your running containers. After that, if you could post a screenshot of your Portainer-Containers page, that might be helpful.

For some containers it may take a while for Portainer to finish.
If you switch away from the Stacks view while it's deploying one, it will fail.
You can check for errors in Portainer if it couldn't install the stack (Events and Notifications).
You can also view your containers in Portainer.

Giving up. Just tried it directly on the server using Chrome and it's more of the same. I think it's getting close, but the error while creating mount source path '/host_mnt/Users/olivetin/data': mkdir /host_mnt/Users/olivetin: permission denied is causing it to fail. No idea where that's coming from or how to correct it. Maybe I'll set the user account as admin and try it one last time.

EDIT: Admin didn't make a difference. Give up.

I realize you've given up, but I typically still try to get to the bottom of issues -- just in case they come up again.

Though I'm not a daily Mac user, I do have a Mac-Mini-M2 for testing and as an ARM component to my build cluster. It's been a while since I've spun-up OliveTin on it though, so thought I'd make sure no issues have crept in.

Nothing to report though, OliveTin deployed on the M2 as expected with these env vars:

TAG=latest
DOMAIN=localdomain tailxxxxx.ts.net
HOST_PORT=1337
CHANNELS_DVR_HOST=media-server8
CHANNELS_DVR_PORT=8089
CHANNELS_DVR2_HOST=utheater-pc
CHANNELS_DVR2_PORT=8089
CHANNELS_CLIENTS=appletv4k firestick-master
ALERT_SMTP_SERVER=smtp.gmail.com:587
ALERT_EMAIL_FROM=[Redacted]@gmail.com
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@gmail.com
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Mountain
HOST_DIR=/Users/slayer/data
DVR_SHARE=/Users/slayer/channels-data
LOGS_SHARE=/Users/slayer/Library/Application
HOST_SFS_PORT=8080
FOLDER=/web
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=mac-mini-m2

It did remind me of an old issue with the types of File Sharing available on the Mac, which have changed several times over the years since Docker has been available. If you have a chance, could you check your Docker Desktop settings and see which File Sharing you're using?

Here's mine, which is VirtioFS:

1 Like

I'm hoping maybe something jumps out at you:

Hmm. Aside from a line about using "Rosetta for x86_64/amd emulation" (because I'm on an M1 Mac mini, not Intel) my settings look the same as yours, but I do have "Enable background SBOM indexing" enabled. You may want to try that?

@Curtis Not having the Rosetta emulation option showing -- given you said your Mac Mini has an Apple chip, makes me wonder about your Docker Desktop installation. Is it possible you somehow installed the amd64 version of Docker Desktop (via Rosetta) rather than the arm64 version? Not sure how to check that, but maybe somebody else knows if it's possible first, and how to check second.

You mentioned having problems with Docker Desktops updates as well, no?

In the /Applications folder, select Docker Desktop. Then go to File → Get Info (or just press Command-I) and you'll get a window that reveals what type of app it is:

In the other thread that it was an i5 6-core 2018 Mac mini. Intel silicon. I didn't see where I posted it was an Apple chip, so my apologies if I did.

New bnhf/olivetin:latest (aka bnhf/olivetin:2024.10.01) pushed today with support for creating a Channel Collection based on the channels in one or more sources. This is courtesy of some more fine work from @mjitkop -- so, many thanks to him!

screenshot-htpc6-2024_10_01-11_19_03

1 Like

I did get it working with Portainer.


1 Like

screenshot-htpc6-2024_10_01-11_19_03

A couple of notes about the input collection_name:

  • It is required when you provide more than one source

  • You can leave it blank if you provide only one source. In this case, the collection will be named after the source

The OliveTin WebUI doesn't allow blank fields -- so it must always be specified currently. I'll do some more work next time around to have a default dummy entry, that can be stripped in the script. But, for now, an entry is always required for collection_name, which of course can be the same as the source name.

2 Likes

Understood. Thank you for the clarification. :slight_smile:

This thread is long, and release announcements get lost among all posts.

I think it would be nice to have a dedicated thread just for OliveTin release announcements.

I'm the only one who seems to have reacted to today's release announcement, given the fact that I knew it was coming. :grin:

Either people didn't notice it or nobody cares. :laughing: