this post was submitted on 15 Nov 2024
81 points (96.6% liked)

Selfhosted

40296 readers
358 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 50 comments
sorted by: hot top controversial new old
[–] Prunebutt@slrpnk.net 36 points 5 days ago

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

[–] macstainless@discuss.tchncs.de 24 points 5 days 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 5 days ago (2 children)

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

[–] mosiacmango@lemm.ee 11 points 5 days ago* (last edited 5 days ago) (9 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.

load more comments (9 replies)
[–] macstainless@discuss.tchncs.de 8 points 5 days ago* (last edited 5 days ago) (2 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!

load more comments (2 replies)
[–] erev@lemmy.world 5 points 4 days ago (2 children)

grayjay, it's an app developed by Louis Rossman to combine a lot of streaming platforms into one privacy and security respecting app. it does have billionaire backing tho if that yanks your chain

[–] jjlinux@lemmy.ml 4 points 4 days ago* (last edited 4 days ago)

+1 on Grayjay. Also Tubular. FreeTube on PC and SmartTube on TV.

[–] ComradeMiao@lemmy.world 2 points 4 days ago (1 children)

Thanks! I’ll check it out. Thanks for yanking my chain

[–] erev@lemmy.world 2 points 4 days ago
[–] akilou@sh.itjust.works 17 points 5 days ago (3 children)
load more comments (3 replies)
[–] Hadriscus@lemm.ee 5 points 4 days ago (1 children)

Freetube on desktop works beautifully. They just added playlists too

[–] ComradeMiao@lemmy.world 1 points 4 days ago (1 children)
[–] Hadriscus@lemm.ee 2 points 4 days ago (1 children)

on the minus side, it's electron and it doesn't have tabs, but it's a rather minor inconvenience for me

[–] ComradeMiao@lemmy.world 1 points 4 days ago (1 children)

Do your subscriptions load well? I just imported mine from freshrss and they’re loading slowly

[–] Hadriscus@lemm.ee 2 points 4 days ago (1 children)

A couple seconds does it... I have 56 subscribed channels though, that's not a lot, perhaps loading times scale with this number

[–] ComradeMiao@lemmy.world 1 points 4 days ago (1 children)

Hmm maybe I’ll reinstall. Never loading for me. I can click individual but not all subs

[–] Hadriscus@lemm.ee 2 points 4 days ago

You can check the tracker for open issues, see if you're encountering a known one

[–] bluelion@sh.itjust.works 9 points 5 days ago (1 children)
[–] decisoft@lemm.ee 7 points 5 days ago (2 children)

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

[–] _cryptagion@lemmy.dbzer0.com 10 points 5 days 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 2 points 5 days ago

My bad 😁

[–] bluelion@sh.itjust.works 3 points 5 days ago* (last edited 5 days 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 🙂

[–] mypasswordis1234@lemmy.world 7 points 5 days ago (2 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

[–] _cryptagion@lemmy.dbzer0.com 3 points 4 days ago

I use containers on Firefox to sandbox YouTube, and then have a throwaway account that’s literally just for YouTube and nothing else. Everywhere else on the web, scripts from Google are blacklisted using uBO.

[–] cyberwolfie@lemmy.ml 2 points 5 days 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.).

[–] Asparagus0098@sh.itjust.works 6 points 5 days 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).

[–] tacogoon@lemmy.world 1 points 3 days ago

yt-dlp Web UI

A nice docker friendly front end to yt-dlp. I use it to watch YouTube on iOS devices where ublock origin is not an option.

[–] net00@lemm.ee 2 points 4 days ago

I use a self-hosted invidious instance, and despite the recent issues with Google trying to block them mine works behind Mullvad VPN.

I use the web app on desktop, and Yattee client on my phone/ipad

[–] Yaky@slrpnk.net 2 points 4 days ago

I don't watch a lot of youtube, but DuckDuckGo browser (on Android and Windows, at least) has a Duck Player that removes all of the cruft around videos and is private afaik.

[–] electric_nan@lemmy.ml 4 points 5 days ago (1 children)
[–] PraiseTheSoup@lemm.ee 2 points 5 days ago (2 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.

load more comments (2 replies)
[–] KarnaSubarna@lemmy.ml 5 points 5 days ago

Self-hosted Invidious or public Invidious instances.

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

[–] bokherif@lemmy.world 1 points 4 days ago

On Android try NewPipe, but dont expect algorithm recommendations, just the main trending pages. Same for iOS use "unwatched"

[–] sugar_in_your_tea@sh.itjust.works 3 points 5 days ago* (last edited 5 days ago) (6 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.

load more comments (6 replies)
[–] unrushed233@lemmings.world 3 points 5 days 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 5 days 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

[–] possiblylinux127@lemmy.zip 2 points 5 days ago

Newpipe or libretube

[–] BrightCandle@lemmy.world 1 points 4 days ago

I sub to channels and use Youtubes recommendations and new for you to find additional channels etc but I don't watch them I use Metube and a browser plugin and download the videos to a directory. I don't get all the privacy but I also am not giving them much watch data and I can avoid the ads.

[–] pogodem0n@lemmy.world 2 points 5 days ago
load more comments
view more: next ›