this post was submitted on 15 Nov 2024
48 points (94.4% liked)

Selfhosted

40183 readers
569 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Moving away from Google. I just added my fav subs into my rss feed but that isn’t an enough to get good recs. What else can one do? Alternative front ends that work?

top 46 comments
sorted by: hot top controversial new old
[–] Asparagus0098@sh.itjust.works 2 points 3 hours ago

NewPipe on my phone. I don't have PC I can use rn but when I used to have one I'd just use my browser (mainly Firefox) with ublock origin to watch YouTube (without signing in).

[–] mypasswordis1234@lemmy.world 3 points 6 hours ago (1 children)

I just watch it on youtube.com without logging in. Sacrificing convenience and using some frontend that only work if you pray hard is not something I want to do daily-drive

[–] cyberwolfie@lemmy.ml 1 points 2 hours ago

There are some periods where YouTube make changes frequently so that e.g. FreeTube stops working for some time, but for the most part it works reliably well. I would say it provides a much better convenience than watching on youtube.com logged out, as you have profiles, subscriptions, playlist and history. Including adblock, sponsorblock and dearrow, and granular control over what to show or not (comments, shorts, live etc.).

[–] electric_nan@lemmy.ml 4 points 8 hours ago (1 children)
[–] PraiseTheSoup@lemm.ee 1 points 4 hours ago (1 children)

Been using PipePipe for awhile now and love it. Unfortunately, recently it has not been able to load playlists 9/10 times. Very frustrating. Hopefully it gets a patch soon.

[–] electric_nan@lemmy.ml 1 points 3 hours ago

Any problems I've had with these apps has usually been solved by reconnecting my VPN.

[–] bluelion@sh.itjust.works 7 points 13 hours ago (1 children)
[–] decisoft@lemm.ee 4 points 12 hours ago (2 children)

Can you show your docker-compose? I've tried several times without succeeding 🤧

[–] _cryptagion@lemmy.dbzer0.com 6 points 11 hours ago (1 children)

You can't just ask that. Not without at least taking them out to a fancy dinner first. Maybe a little dancing.

[–] decisoft@lemm.ee 1 points 42 minutes ago

My bad 😁

[–] bluelion@sh.itjust.works 3 points 11 hours ago* (last edited 10 hours ago)

Before anything, you'll want to create a folder for the unix socket: mkdir /var/run/ytproxy and chown it to your reverse proxy's user and group.

The Docker files:

compose.yml


services:
  piped-frontend:
    image: 1337kavin/piped-frontend:latest
    container_name: piped-frontend
    environment:
      BACKEND_HOSTNAME: $API_ENDPOINT
    depends_on:
      - piped
    restart: unless-stopped
    networks:
      - proxy

  piped-proxy:
    image: 1337kavin/piped-proxy:latest
    container_name: piped-proxy
    environment:
      - UDS=1
    volumes:
      - /var/run/ytproxy:/app/socket  # unix socket location
    user: 1000:1000
    restart: unless-stopped
    networks:
      - proxy

  piped:
    image: 1337kavin/piped:latest
    container_name: piped-backend
    volumes:
      - ./piped/config/config.properties:/app/config.properties:ro
    depends_on:
      - piped-db
    restart: unless-stopped
    networks:
      - backend_piped
      - proxy

  piped-db:
    image: pgautoupgrade/pgautoupgrade:16-alpine
    container_name: piped-db
    environment:
      - POSTGRES_DB=$DB_NAME
      - POSTGRES_USER=$DB_USER
      - POSTGRES_PASSWORD=$DB_PASS
    volumes:
      - ./piped/pgdb:/var/lib/postgresql/data
    restart: unless-stopped
    networks:
      - backend_piped

networks:
  backend_piped:

  proxy:
    external: true

.env


API_ENDPOINT=  # no scheme prefix (ex. pipedapi.domain.example)
DB_NAME=
DB_USER=
DB_PASS=

To configure the reverse proxy (I use nginx), you can use Piped's recommended files with your domains. The linked repo also contains a template for the required config.properties.

Let me know if you run into issues, I'll be glad to help 🙂

[–] Prunebutt@slrpnk.net 28 points 18 hours ago

Freetube on Linux, newpipe on android and maybe a private invidious instance.

[–] possiblylinux127@lemmy.zip 2 points 10 hours ago

Newpipe or libretube

[–] macstainless@discuss.tchncs.de 19 points 18 hours ago (1 children)

I use YT-DLP to scrip the download of vids I want to watch and it drops them into Plex for me. I set it to run every 4 hours.

[–] robalees@lemmy.world 2 points 18 hours ago (2 children)

Oooh, this is interesting! How do you get the script to get latest videos from your subscribers?

[–] macstainless@discuss.tchncs.de 7 points 15 hours ago* (last edited 15 hours ago) (1 children)

So there's 2 files that go along with the main script: a config file and a download list.

The download list file is literally a list of YT channel URLs and any time I want it to get new channels, I add to the list. Conversely if I get tired of watching a channel, I comment it out or just delete it. YT-DLP just traverses the list.

The config is where the magic happens. That dictates how the file is named, quality you download at, location it's saved to, format, etc. You can incorporate SponsorBlock which is awesome and even DeArrow has an integration. I enjoy the logging feature so it doesn't re-download vids it's already snagged. Generally I'll tell it to get every video from a channel that's been posted in the last 15 days.

My destination for the files is a YouTube library folder I set up in Plex. Plex sees it just as another TV-like library and it pulls the metadata from the files, which are embedded by YT-DLP.

Hope this helps!

[–] robalees@lemmy.world 1 points 15 hours ago (1 children)

Very helpful! Thank you so much!

[–] macstainless@discuss.tchncs.de 1 points 14 hours ago

You got it. Good luck!

[–] mosiacmango@lemm.ee 8 points 17 hours ago* (last edited 17 hours ago) (2 children)

Can't speak to his method, but the jellyfin media sever has a YouTube plugin called Fintube that uses the above downloader to integrate YouTube content.

[–] pirat@lemmy.world 1 points 11 hours ago

I just tried this on an Ultra.cc seedbox with yt-dlp installed, and the Fintube plugin configured to the right path for that, yet when I go to Dashboard > Fintube and click the Submit button to add a video to the download, nothing happens. Can't figure out what's wrong.

Maybe Jellyfin doesn't have the necessary write permissions to write the file to that folder, but I'm not quite sure how to change those on such a seedbox, if that's the case.

Any experience with this to share? Would the Submit button usually lead to a different view, or does it just stay on that video submission screen while the download happens silently in the background? The lack of action I experience when clicking it feels a bit awkward...

[–] robalees@lemmy.world 1 points 17 hours ago (1 children)

Interesting, wonder if I can do something similar with Plex

[–] mosiacmango@lemm.ee 8 points 17 hours ago* (last edited 17 hours ago) (1 children)

I just moved over to jellyfin from plex. I highly recommend it. It's way more streamlined and active than plex, with a seriously good plugin community. No investor based bloat.

The only issue I had was that jellyfin would crash on scanning my very old music library, where plex would not. To fix it, I used musicbrainz picard to correctly add idv3 tags and remove illegal characters from song names. Now, its smooth as silk.

[–] Blxter@lemmy.zip 1 points 17 hours ago (1 children)

All the plugin talk about jellyfin makes me want to switch wish Plex kept support for them. Jellyfin does seem to make way bigger strides than Plex these days

[–] mosiacmango@lemm.ee 1 points 16 hours ago* (last edited 15 hours ago) (1 children)

Honestly, you should swap. They have tons of excellent plugins.. The intro skip is way better than Plex's.

The end user clients are very solid too. Their kodi client alone is leagues ahead of the plex community one.

The only feature that plex has over jellyfin at this point in my mind is sharing content easy with people out of your home network. With Jellyfin you need to setup your own certs or reverse proxy like SWAG, or use something like tailscale.

[–] Blxter@lemmy.zip 2 points 14 hours ago* (last edited 14 hours ago) (1 children)

Yea I also believe (could be wrong) the Sonic analysis for music and Plex amp is much better than what finamp provides

Edit: I did run both about a year ago just to see the differences so it would not be hard for me to spin it back up

Edit 2: prob going to because I want to test the YouTube and twitch plugins tbh

[–] mosiacmango@lemm.ee 1 points 12 hours ago* (last edited 12 hours ago)

Hmm, not using finamp. I'm pretty happy with Synfonuim.

Cant speak to that aspect.

[–] akilou@sh.itjust.works 16 points 18 hours ago (2 children)
[–] blindbunny@lemmy.ml 1 points 12 hours ago

Does it just stop playing sometimes? It's the only thing I don't like about it so far

[–] possiblylinux127@lemmy.zip -4 points 10 hours ago (1 children)
[–] akilou@sh.itjust.works 7 points 9 hours ago

I didn't say it was, I'm just answering the dude's question

[–] KarnaSubarna@lemmy.ml 5 points 16 hours ago

Self-hosted Invidious or public Invidious instances.

https://github.com/iv-org/invidious

[–] sugar_in_your_tea@sh.itjust.works 3 points 16 hours ago* (last edited 16 hours ago) (1 children)

Grayjay on my Android phone. I like that it supports a lot of different services, and I have subs on Odysee, Rumble, and Nebula (I pay for a sub there). I sometimes download videos for offline use if I'm going to listen on my commute or something (no point in using up data if I don't need to).

On my desktop/laptop, I just use YouTube directly w/ uBlock Origin on Firefox (to block ads) without logging in. I don't watch much YouTube on my desktop/laptop, and when I do, I'll just look for a specific video or whatever.

I also have NewPipe installed on my phone for when I want to find something specific (i.e. background music or something), because Grayjay's search kind of sucks.

[–] possiblylinux127@lemmy.zip -2 points 10 hours ago (1 children)

Not Foss so if that's something that matters to you I would recommend you look elsewhere

[–] sugar_in_your_tea@sh.itjust.works 3 points 5 hours ago (1 children)

Grayjay is source available, which is better than nothing. I'd prefer FOSS, but the features make up for the poor choice of license.

[–] possiblylinux127@lemmy.zip -3 points 5 hours ago* (last edited 5 hours ago) (1 children)

So is Windows XP

That doesn't mean much

[–] sugar_in_your_tea@sh.itjust.works 3 points 5 hours ago (1 children)

It's really not. Windows XP had its source leaked, it's not source available. Grayjay is source available, so I can see every new commit before it hits my phone. That's a pretty big difference, and it's the most important when it comes to public security audits.

[–] possiblylinux127@lemmy.zip -3 points 5 hours ago

You aren't legally allowed to do anything about a bad commit so it is meaningless

[–] unrushed233@lemmings.world 3 points 16 hours ago

youtube-local over a Mullvad (other services like Proton or IVPN are great as well) works really well for me

[–] pe1uca@lemmy.pe1uca.dev 3 points 16 hours ago

With invidious and in FreshRSS I use the youtube extension to use the embedded video player, you just need update this part of the code https://github.com/FreshRSS/Extensions/blob/master/xExtension-YouTube/extension.php#L153-L163
It easy just to replace for this:

    public function getHtmlContentForLink(FreshRSS_Entry $entry, string $link): string
    {
        $domain = 'www.youtube.com';
        if ($this->useNoCookie) {
            $domain = 'www.youtube-nocookie.com';
        }
        $domain = 'invidious.personal.com';
        $params = 'quality=dash';
        $url = str_replace('//www.youtube.com/watch?v=', '//'.$domain.'/embed/', $link);
        $url = str_replace('http://', 'https://', $url);
        $url = $url . '?' . $params;

        return $this->getHtml($entry, $url);
    }

The only change is to use $domain = 'invidious.personal.com';
And add the parameter quality=dash

Seems there's also this one https://github.com/tunbridgep/freshrss-invidious
but haven't tried it

[–] pogodem0n@lemmy.world 2 points 17 hours ago
[–] Retro_unlimited@lemmy.world 1 points 16 hours ago

I use several of the suggestions above, but also for IOS (iPhone) I use “Firefox Focus” and it clears everything when I close it and I can watch ad free.

[–] Bishma@discuss.tchncs.de 1 points 17 hours ago (1 children)

I have a locally hosted invidious instance but increasingly I'm finding most of the creators I watch are on Nebula. I just recently discovered that Rifftrax has a presence there.

[–] possiblylinux127@lemmy.zip 1 points 10 hours ago (2 children)

Does Nebula have third party clients?

[–] andyortlieb@lemmy.sdf.org 1 points 7 hours ago

Grayjay can stream nebula, so there must be a way.

[–] Bishma@discuss.tchncs.de 1 points 7 hours ago

Not that I'm aware of, but it would be nice.

[–] Selfhoster1728@lemmy.world 0 points 16 hours ago* (last edited 16 hours ago)

Libretube with a vpn! Newpipe doesn't look great imo