• 4 posts
  • 20 comments
Joined 3 years ago
Cake day: September 13th, 2023
  • How do you sort through the trash though?

    The thing about SO is there really is a ton of poorly phrased or poorly researched questions asked each hour. So, how do you find quality questions to dedicate your time answering? How do you search QA when there’s a number of similar questions asked?

    That’s the thing StackOverflow was trying to solve.

    There’s millions of people with programming questions that think their problem is unique or they simply don’t understand how to research their issue, so you end up with a ton of bad or duplicated questions.

  • W h a t ? I couldn’t disagree with your comment more.

    StackOverflow, and the slew of substacks, are/were almost entirely volunteer run. From the questions, to the answers, to the moderation.

    Like yeah, there’s assholes everywhere, and yeah tech jockies are always snooty when they think they know better. I don’t think any of this is the fault of StackOverflow necessarily, it’s just a format that isn’t a forum. They were, and are, a QA site where they wanted answers from the people that knew. Not discussions. Not the same question asked a hundred times. Not quick homework answers.

    StackOverflow is one of the defacto ways I still get programming answers and knowledge from. So much so that I haven’t needed to ask a question in a long time. It’s robotic, it’s uniform, it’s boring, but it’s is/was such a useful website.

    IMO it’s downfall was not promoting more community and branching our beyond QA and into discussion based topics and chats. Not being able to see that people needed a space outside their QA model and not trying to harness that in their hay day cost them everything. Now AI has scrapped all their content.

What are y’all using for your offline game libraries? I ended up getting Resident Evil on GoG and started thinking about how I can host these on a NAS. Maybe something Dockerized?

Jellyfin for music and video

Immich for images

Audiobookshelf for Audiobooks

??? for Gaming?

  • Jellyfin: Streaming works fine, but it doesn’t recognize individual artists (my files are in one big folder, so albums are jumbled).

    Yeah, but like MusicBrains and AudioDB plugins. It should scan through and try to match the metadata to better organize your files.

    Then for mobile you can connect to the Symfonium app.

  • I don’t know if this will help anyone but damn is the documentation on how to do this kind of thing scarce so here I am. I was quite a struggle both learning all this and implementing it but it’s been fun overall.

    FreeDNS doesn’t seem to have a way to add any kind of SSL Certs as far as I can tell. Not that I needed to, but when I tried explaining my situation to the hosting provider they suggested that the cert needed to be on the DDNS server.

    I also couldn’t get the Asustor Reverse Proxy to work either. Many of the tutorials and user suggestions i ran across suggested that this is the way to get SSL but when I tried to implement it I kept landing at my portal login and nothing was getting proxy’d. The netstat command was showing that whatever the reverse proxy port needed was not open - I also ran across this in a 2020+ thread on Asustor.

    Right now I’ll also need to manually update the certs and go through this process again in 3 months time. There might be a way to automate this process but it’s a lot of steps that I’m not sure can be automated in this seeming (to me) flawed setup. In any case, it’s been challenging but fun and I think in the next 6 months I’ll upgrade out of Asustor and into a bigger server with a core Linux setup. I know nothing about Linux :)

  • I do appreciate everyone’s suggestions and help. Here’s what I ended up doing.

    FreeDNS via freedns.afraid.org as a DDNS Subdomain

    Domain + Subdomain via hosting provider

    Hosted Subdomain CNAME to the DDNS Subdomain

    Setup DDNS using Asustor > Settings > Manual Connect and setting up a FreeDNS account and input the info it needed. Last DDNS update keeps coming back as Failure but FreeDNS keeps updating my IP so it seems to work, but for whatever reason Asustor doesn’t think it’s working.

    Used openssl + certbot CLI tools to generate a certificate that covers all 3 cases: Hosted Subdomain, Hosted Domain, DDNS Subdomain. Looks like this:

    certbot certonly --key-type rsa --rsa-key-size 2048 --manual --preferred-challenges dns -d hosteddomain.example -d subdomain.hosteddomain.example -d ddns.domain.example
    

    This will set up verification codes that you can create TXT records for on the Hosted Domain and the DDNS Domain. I had to contact FreeDNS to get access to add text records with underscores but they were cool and quick to reply. They look like this:

    _acme-challenge.hosteddomain.example
    8suZTccF9ZpB0fnBr9mgEEXTcX7cqSkDXiBzucTcOfw
    

    Once the certificates are in place I uploaded them to my Hosted Domain and verified that my Hosted Domain was showing the SSL certificate / lock at HTTPS.

    Next I logged into my Asustor and under Settings > Certificate Manager I added my SSL Certificates and assigned it as the primary certificate for the NAS.

    Finally, I needed to enable SSL on my Jellyfin, which required a PFX file.

    openssl pkcs12 --export -out "Z:\Path\To\PFXOutput\jellyfin.pfx" -inkey "Z:\Path\To\Cert\jellyfin.key" -in "Z:\Path\To\Cert\jellyfin.crt"
    

    Under Jellyfin > Dashboard > Networking I enable HTTPS, Require HTTPS, give it the path to the PFX file and the PFX password, and Allow remote connections to the server. I disabled port forwarding from Jellyfin and had to jump into my router to remove the UPnP records it had previously added. All port numbers are default to Jellyfin and no URLs in the Server Address Settings.

    Important to take note of the Jellyfin ports here for both HTTP and HTTPS requests. Important note to restart Jellyfin after this takes effect. Asustor has an App Central where under Installed Apps you can just turn it off and back on again.

    Finally, I added Port Forwarding to my router so that the 443 looks for the Jellyfin HTTPS port and 80 looks for the Jellyfin HTTP port at my NAS IP.

    Now I can access HTTPS subdomain.domain.example and land at my Dockered Jellyfin app.

  • No, I don’t necessarily want other people to access my Jellyfin, but my folx live out in the boons, (visiting on holidays etc.) and that was the only way I could find to reliably access my media. I guess I also come from a web background so it felt right to me. The Asustor I have really limits what I can and can’t do with it. I got it as a like, starter point since it felt out of the box. I’m also on Windows lol.

    Do you have any resources for how I could grant access outside my network with a VPN, wireguard, or tailscale? I’m open to other options, I’m really just kind of fumbling my way through this idea of what I want.

  • I do have port 80 open as well as 443, both going to my Jellyfin HTTP/HTTPS ports respectively. HTTP seems to work for both when I access “pretty” domain and the FreeDNS URLs directly. It’s really only when I try to force HTTPS that I’m having issues.

    I’ll play around with Let’s Encrypt today to see if I can get the FreeDNS cert applied. I’ve tried to use AI to assist me in learning how to do all this, it suggests I need both my “pretty” domain and the FreDNS domain tied to the same Cert, which Im unable to do at my current domain registrar, so I might also need to move that but I’ll take it one step at a time.

  • I’m still pretty green so I’m not sure what terminated means in this context.

    My domain registrar for my “pretty” domain (not FreeDNS) allowed me to issue a Let’s Encrypt on it. It gave me the encrypted Cert code, Private Key code, and Immediate Cert code. I was able to bring them down into .crt and .key files respectively and assign them to my NAS. Jellyfin though required a PKCS #12 file so I installed openssl CLI via Choco and fed it my .crt and .key files to generate the necessary pfx file. So, right now all the cert information is tied to my “pretty” domain via my domain register. I would assume that my register and Let’s Encrypt has my private key info, but also my key files uploaded to the NAS and rolled into the PFK file.

    Not sure if that helps or answers your question but that’s the info I got.

I feel like I have a doozy of a complicated issue and am looking for some guidance.

I’m new to Selfhosting so I got myself an off-the-shelf Asustor NAS. It’s got apps which is cool, so I’ve installed Jellyfin. I want to access my Jellyfin over the web so I’ve set up DDNS via my Asusstor Manual Connect and FreeDNS. This works well, I can access it over HTTP but the domain is… kind of long and unpleasant, so I got myself a “pretty” domain and setup a CNAME to the FreeDNS. I’m port forwarding on my router, everything works, so far so good.

To make it overtly complicated, I want to make the connection HTTPS. This is where I’m struggling. I’ve set up the SSL cert for my “pretty” domain via Lets Encrypt, but it times out. I’m not sure if, or how I can make the FreeDNS HTTPS or covered under my Lets Encrypt cert since I don’t technically own the FreeDNS domain. My provider doesn’t give my any wildcard options on the “pretty” domains cert either.

I’ve got the HTTPS set on my Asustor and Jellyfin based on the “pretty” domains SSL cert. I’ve got my port-forwarding 443 to Jellyfins suggested HTTPS port on my router. I feel like the lynchpin is the FreeDNS subdomain handing off the DDNS request but I’m not sure how to solve it. Any suggestions on how I can get this setup to work? Anyone else run a similar setup where they access their local X port via the web via HTTPS?

Open to similar experiences, suggestions, ideas, pretty much anything at this point.

  • Oh no.

    I decided to go with an Asustor prebuilt NAS for my first self-host. It’s got a Jellyfin app, but not an Audiobookshelf app.

    Jellyfin runs on Docker, so I have the Docker app installed and running.

    Audiobookshelf runs on Docker. Could I just like, spin up a container and run it? How would I access it through my Asustor? I access Jellyfin either direct or through my portal dashboard.

    So many questions! Like, I lowkey love having all my media accessible in 1 place: Series, Movies, Music, Audiobooks all in one place through Jellyfin. If I split my Audiobooks into Audiobookshelf somehow, how do I keep the ease of access? Maybe spin up another Docker container and create a landing page linking both Jellyfin and Audiobookshelf? Could (should I? Can I?) do it all through the same Docker container that Jellyfin is currently run on? Are there tutorials about this?

    Thank you again for the suggestion

I’ve started working with Media Servers recently and am starting to get acustom to Jellyfin. I’m using Book Lib Connect and AAX Audio Converter to download and convert my purchased Audiobooks.

I would like my Audiobooks to retain chapters, but I’m not sure the export I’m getting from the above is fully compatible with Jellyfin. Here’s what I’ve tried so far:

Audiobooks

  • Author
    • Book
      • (01) Opening Credits.m4b
      • (02) Chapter 1.m4b
      • etc.
      • Book.txt
      • metadata.json
      • chapters.json

I also have the full m4b file and the aax file in an ignored folder at the top of the book.

Book.txt contains the author, title, narrator, publish year, description, duration. Separated by new lines.

metadata.json contains specific information like purchase date, product #, author #, SKU.

chapters.json contains the actual chapter titles. chapter length, start offset.

Any ideas on how I can get Jellyfin to read the json files? Do I need to write a conversion script into some other file type? Maybe Jellyfin isn’t the right software for Audiobooks?

I’m open to ideas, suggestions, or any other advice.