5 ms·
I'm currently working on a home server to build a homemade streaming service, something like a Plex server but worse because I'm the one making it. I'm using a
by idrios 3y ago
I'm currently working on a home server to build a homemade streaming service, something like a Plex server but worse because I'm the one making it. I'm using a Raspberry Pi 3A+. It was $25, and the MicroSD card I'm using with it was $50. I've got it working that it can stream video to my Android TV without issue. I put a big heatsink on it out of fear of it overheating, but I don't think it was necessary.
I installed Raspbian 64bit Headless on the raspberry pi. It took a bit of trial and error to set it up because I didn't know what I was doing, but ever since getting it running and being able to SSH into it, it's been really easy to work with because Raspbian is just Linux.
The server is a uvicorn server hosting an API made with FastAPI in Python. The impetus for my project was to learn FastAPI, and it was incredibly easy to learn. I already knew Android development so I was also able to write a client app for my TV that downloads and plays videos hosted on the server. The Android TV app was a little bit harder to make though just because of how quickly Android development practices evolve, and online resources/my own experience with it becomes outdated.
Raspberry Pi was a great choice for me. Super cheap, surprisingly powerful for such a small device, and I learned a ton of useful info in a very short amount of time
EDIT: Removed some details that were irrelevant
- xwowsersx 3y agoHow is this self-hosted if you're hosting on GitHub?
- idrios 3y agoYeah that part wasn't relevant, I shouldn't have mentioned it
- xwowsersx 3y agoGot it, sounds like a fun, simple setup though. I was exploring FastAPI recently and was a bit surprised that async SQLAlchemy wasn't the out-of-the-box experience, unless I misread docs and wasn't following along closely enough. The result was that even with all of the async goodness in FastAPI, throughput was completely shot once I started querying a DB. It looks like there is a way to do async SQLAclhemy though with AsyncSession. Do you have any experience with this?
- idrios 3y agoThanks, it's been a fun project so far. It just parses filenames in a directory without a DB right now while I'm still figuring out all that I want to do with this project. I was planning to use SQLAlchemy so good to know I should expect that.
- xwowsersx 3y agoYeah may not be an issue for you either, was just curious if you had any experience. I was considering FastAPI for a big production app and that was one concern/issue I ran into.