Image Uploads
JG Used Vehicles stores vehicle photos with a remote upload provider. These photos are used for marketplace listings, dealership stock and the shared photo library.
JG Used Vehicles does not support local image storage. Choose Qbox CDN, Fivemanage, Cloudflare R2 or AWS S3.
The provider setting lives in config/config.lua:
Config.ImageStorageProvider = "fivemanage"API keys and private storage settings live in config/config.photos.lua. This file is loaded on the server only. Keep it private.
Provider options
| Provider | Config value | Best for | Guide |
|---|---|---|---|
| Fivemanage | "fivemanage" | FiveM-focused hosted image uploads | Setup guide |
| Cloudflare R2 | "r2" | Cloudflare object storage and custom domains | Setup guide |
| AWS S3 | "s3" | Existing AWS setups and CDN pipelines | Setup guide |
| Qbox CDN | "qbox" | Hosted uploads through Qbox | Setup guide |
Set up image uploads
Choose a provider
Choose one of the remote providers above and open its setup guide.
Set the provider
Set Config.ImageStorageProvider in config/config.lua to the matching config value.
Add the credentials
Open config/config.photos.lua and fill in the block for your selected provider. Leave the other provider blocks unchanged.
Restart and test
Restart jg-usedvehicles, then open the vehicle camera. The camera performs a small test upload before it allows photography. Take one photo and confirm it appears in the photo library.
Keep secrets private
Never put real API keys in Git commits, support tickets, Discord screenshots or client-side Lua files.
Only config/config.photos.lua should contain upload credentials.
Troubleshooting
Check Config.ImageStorageProvider in config/config.lua, then check the matching credentials in config/config.photos.lua. Restart jg-usedvehicles after every config change so the provider test runs again.
For S3 or R2, the bucket CORS rules are missing or the allowed origin does not match your resource name. Follow the CORS section in the provider guide.
Config.ImageStorageProvider must be one of these values:
qbox
fivemanage
r2
s3Local uploads are not supported.
For S3 or R2, check that publicUrl can load an uploaded object without authentication. Also check the bucket's public access or CDN configuration.
Last updated 26 August 2026