[FREE MEDIA HOST] Host your own media server!

FiveM Hoster

Don’t want to pay for services or are you worried that your current service might delete your media at any time?

Host your own media server for FiveM—essentially a self-hosted, simplified version of Imgur.

I developed an API tonight for uploading media for various resources. It’s incredibly fast compared to the alternatives and it’s completely free!

I created it because I needed an upload solution for lb-phones to handle videos, images, and audio.
Its not a solution just for FiveM but it was needed for the project that why the name :slight_smile:

Performance Comparison

1-Minute Video (approximately 28 MB)

  • fivem-media: 6 seconds, 0 out of 10 crashes
  • lb-upload: Crashes with any file over 5 MB
  • Fivemmanager (Paid, if over 10GB): 65+ seconds with 7 out of 10 crashes

2-Minute Video (approximately 60 MB)

  • fivem-media: 10 seconds, 0 out of 10 crashes

5-Minute Video (approximately 133 MB)

  • fivem-media: 22 seconds, 0 out of 2 crashes

If you have any ideas on how to improve the current setup, please let me know. Note that adding more functions is not in scope for now.

Feel free to use it, but note that setting it up requires some technical knowledge.

15 Likes

Thanks for this you’re a GOAT :3

2 Likes

It works very well and its so much faster then my current solution. Its a simple API but not more needed i guess. Thanks!

1 Like

Thanks :slight_smile:

Nice. I mean there is no UI compared to Fivemanage but it works and thats the main reason for the players. Glad you like it :slight_smile:

absolutely genius and all of that for free. you good sir deserve +100 karma

2 Likes

Hi, is it possible to set this up on a cPanel hosting with Node.js application capability? If so, how should I do it?

So this is pretty awesome,

I like to self host as much as i can.

But for some reason im just hitting a million brick walls trying to install it.

ive gotten it from stupid premission issues, to apache for some reason overriding everything, to now {“message”:“Cannot POST /api/media/upload:10000”,“error”:“Not Found”,“statusCode”:404}

I changed the port in the .env and made sure i had no other issues.

> fivem-media-hosting@0.0.1 start
> nest start

e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[NestFactory] e[39me[32mStarting Nest application...e[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mAppModule dependencies initializede[39me[38;5;3m +5mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mTypeOrmModule dependencies initializede[39me[38;5;3m +2mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mMulterModule dependencies initializede[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mConfigHostModule dependencies initializede[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mServeStaticModule dependencies initializede[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mConfigModule dependencies initializede[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mConfigModule dependencies initializede[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mTypeOrmCoreModule dependencies initializede[39me[38;5;3m +42mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mTypeOrmModule dependencies initializede[39me[38;5;3m +1mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[InstanceLoader] e[39me[32mMediaModule dependencies initializede[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[RoutesResolver] e[39me[32mMediaController {/api/media}:e[39me[38;5;3m +61mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[RouterExplorer] e[39me[32mMapped {/api/media/upload, POST} routee[39me[38;5;3m +2mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[RouterExplorer] e[39me[32mMapped {/api/media, GET} routee[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[RouterExplorer] e[39me[32mMapped {/api/media/:id, GET} routee[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[RouterExplorer] e[39me[32mMapped {/api/media/info/:id, GET} routee[39me[38;5;3m +0mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[RouterExplorer] e[39me[32mMapped {/api/media/:id, DELETE} routee[39me[38;5;3m +1mse[39m
e[32m[Nest] 11660  - e[39m03/23/2025, 1:57:50 PM e[32m    LOGe[39m e[38;5;3m[NestApplication] e[39me[32mNest application successfully startede[39me[38;5;3m +1mse[39m
Application running on port 10000

any idea what could be the issue?