- Joined
- Jun 30, 2022
- Messages
- 1,076 (1.03/day)
I own an app that is used for streaming audiobooks , it is similar to Spotify but for audiobooks built in React Native.
The app is currently in beta testing and only a limited amount of people have access to it as it needs a bit more work before release (so i didnt test it with many users).
The server of the app is a "custom" version of Ampache ( https://ampache.org/ ) , the last version with some tweaks and stuff, the basic functionality is the same. I am using it with php8.2 and MariaDB.
Right now is hosted on a cheap VPS with 1GB RAM, 2 vCores, 64G storage and limited bandwidth and its only used for testing with a limited amount of audiobooks.
The full library of audiobooks is about 1TB, i am not sure yet but probably ill need at least 750GB of space (and keep some free space for the future),i might transcode some tracks to a lower bitrate, the mp3 files are encoded 64kbs to 256kbs but ill probably transcode all of them to 96/128kbs , all the books are in chapters and each chapter has 5mb to 20mb (i think).
My app has a buffer currently set at 120 secs , so it preloads 120 sec from the current chapter (track) that the user wants to listen to.
Currently the transcoding is disabled server side but i have the option in my app to request the server to transcode , current values are 128kbs , 192kbs and "no transcoding".
The most demanding thing i saw so far (server side) is when asking the server to import / update the library as it has to scan all the mp3s and get their tags etc and update the db. (i wont do that often)
An usual server response looks like this: https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/song.json , basically all the bandwidth (and cpu usage) will go for the images ,the mp3 streaming and handle the requests (query the db), the response is pretty light (just some text).
Now i want a cheap way to host my server and all the audiobooks for when it will go live but using a VPS is not cheap and i am limited in different ways (at least for the first 6 -12 months , to see if its worth the investment or not, i dont expect many users in the first months).
1. Seems that having a lot of bandwidth spikes the price for more than i would like to pay
2. Having over 500gb of storage spikes the price for more than i would like to pay
3. Even harder to find VPS with decent nr of cores/ram that includes my bandwidth / storage requirements.
- pro VPS is that i dont have deal with the server (location , power bill etc).
- if you know any VPS that offers what i need at a low price feel free to post the links here
My second option is to build my own little server and i dont know for what i should go for, i have access to unlimited bandwidth at 1gbs for cheap (8E/m or something) and soon will be able to upgrade it to 2.5G or even 10G at a price of 10E -15E.
The options i have in mind are (but i dont know if they will handle my server, pros and cons - i can keep transcoding disabled if that will be a bottleneck and i can save some cash ) :
1. Get something like raspberry pi 5 ( orange pi 5 etc..) - i am not sure if they are powerful enough to handle the server with more users simultaneous but they are cheap ( i think i can use NVME with them at 1gb speed and add 2.5G networking?)
2. Get some mini PC - more expensive (even harder to find with 2.5G network) and im not sure what CPU i should go for and if having an x86 CPU will have any noticeable impact over something on arm.
( something like this - https://www.amazon.com/MINISFORUM-NAB5-i5-12450H-Compter-PCIe4-0/dp/B0C2HDTQJP/ref=sr_1_7_sspa?keywords=mini+server&qid=1695914779&sr=8-7-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9tdGY&th=1
or
https://www.amazon.com/TRIGKEY-16Thread-S5-Computer-Supports/dp/B0C491K5M5/ref=sr_1_10?crid=N0SWFIHDA5F3&keywords=mini+pc&qid=1695921928&refinements=p_n_feature_eighteen_browse-bin:23703246011&rnid=23703216011&s=pc&sprefix=minipc,aps,184&sr=1-10&th=1)
3. Build my own mini Server , i have no idea what i should go for and i think this is the most expensive option , uses more power but i can find good parts at second hand. I was looking to build something with a G CPU from AMD but i need a lot more parts than just getting some prebuilt.
All advices are welcome
The app is currently in beta testing and only a limited amount of people have access to it as it needs a bit more work before release (so i didnt test it with many users).
The server of the app is a "custom" version of Ampache ( https://ampache.org/ ) , the last version with some tweaks and stuff, the basic functionality is the same. I am using it with php8.2 and MariaDB.
Right now is hosted on a cheap VPS with 1GB RAM, 2 vCores, 64G storage and limited bandwidth and its only used for testing with a limited amount of audiobooks.
The full library of audiobooks is about 1TB, i am not sure yet but probably ill need at least 750GB of space (and keep some free space for the future),i might transcode some tracks to a lower bitrate, the mp3 files are encoded 64kbs to 256kbs but ill probably transcode all of them to 96/128kbs , all the books are in chapters and each chapter has 5mb to 20mb (i think).
My app has a buffer currently set at 120 secs , so it preloads 120 sec from the current chapter (track) that the user wants to listen to.
Currently the transcoding is disabled server side but i have the option in my app to request the server to transcode , current values are 128kbs , 192kbs and "no transcoding".
The most demanding thing i saw so far (server side) is when asking the server to import / update the library as it has to scan all the mp3s and get their tags etc and update the db. (i wont do that often)
An usual server response looks like this: https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/song.json , basically all the bandwidth (and cpu usage) will go for the images ,the mp3 streaming and handle the requests (query the db), the response is pretty light (just some text).
Now i want a cheap way to host my server and all the audiobooks for when it will go live but using a VPS is not cheap and i am limited in different ways (at least for the first 6 -12 months , to see if its worth the investment or not, i dont expect many users in the first months).
1. Seems that having a lot of bandwidth spikes the price for more than i would like to pay
2. Having over 500gb of storage spikes the price for more than i would like to pay
3. Even harder to find VPS with decent nr of cores/ram that includes my bandwidth / storage requirements.
- pro VPS is that i dont have deal with the server (location , power bill etc).
- if you know any VPS that offers what i need at a low price feel free to post the links here
My second option is to build my own little server and i dont know for what i should go for, i have access to unlimited bandwidth at 1gbs for cheap (8E/m or something) and soon will be able to upgrade it to 2.5G or even 10G at a price of 10E -15E.
The options i have in mind are (but i dont know if they will handle my server, pros and cons - i can keep transcoding disabled if that will be a bottleneck and i can save some cash ) :
1. Get something like raspberry pi 5 ( orange pi 5 etc..) - i am not sure if they are powerful enough to handle the server with more users simultaneous but they are cheap ( i think i can use NVME with them at 1gb speed and add 2.5G networking?)
2. Get some mini PC - more expensive (even harder to find with 2.5G network) and im not sure what CPU i should go for and if having an x86 CPU will have any noticeable impact over something on arm.
( something like this - https://www.amazon.com/MINISFORUM-NAB5-i5-12450H-Compter-PCIe4-0/dp/B0C2HDTQJP/ref=sr_1_7_sspa?keywords=mini+server&qid=1695914779&sr=8-7-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9tdGY&th=1
or
https://www.amazon.com/TRIGKEY-16Thread-S5-Computer-Supports/dp/B0C491K5M5/ref=sr_1_10?crid=N0SWFIHDA5F3&keywords=mini+pc&qid=1695921928&refinements=p_n_feature_eighteen_browse-bin:23703246011&rnid=23703216011&s=pc&sprefix=minipc,aps,184&sr=1-10&th=1)
3. Build my own mini Server , i have no idea what i should go for and i think this is the most expensive option , uses more power but i can find good parts at second hand. I was looking to build something with a G CPU from AMD but i need a lot more parts than just getting some prebuilt.
All advices are welcome

Last edited: