Parameters
Parameter reference
string
default:"fullstack"
Execution mode.
integer
default:"3000"
Port the API server listens on.
3000 (default) · 8080string
required
Secret used by Better Auth to sign sessions and tokens. Must be at least 32 characters.
string
default:"http://localhost:3000"
Public base URL of your Openinary instance. Used for auth callbacks and CORS.
http://localhost:3000 · https://media.example.comstring
default:"http://localhost:3000"
Public base URL the browser uses to reach the API. Like
BETTER_AUTH_URL, this defaults to your instance’s single public URL, set it once and both point at the same place.http://localhost:3000 · https://media.example.comIn the bundled
full Docker Compose profile (API + web + nginx behind one port), this is baked in as /api at build time since nginx already proxies the API under that path, you don’t need to set it yourself. Set it explicitly when the API is reachable at a different origin, e.g. an api profile deployment or an external frontend embedding the File Uploader.string
Allowed origin when Openinary is called from a separate frontend. Only set this in production, by default
localhost:3001 (Next.js dev) is allowed automatically.https://yourapp.comstring
Secret used to sign and verify signed URLs and presigned, authenticated uploads (see the File Uploader). Required if you use the
/authenticated/* route or presigned uploads. Must be 64 characters.string
default:"/data/auth.db"
Custom path for the SQLite database. Only needed when mounting to a non-standard location.
/data/auth.db · /mnt/volume/openinary.dbUpload
integer
default:"50"
Maximum allowed file size for uploads, in megabytes.
50 (default) · 500 · 2048Useful for self-hosted setups where users need to upload large video files. Set it in your
.env file or Docker environment, no image rebuild required.Rate limiting
Rate limiting applies to all public routes (/t/*, /download/*, /health, etc.).
integer
default:"100"
Maximum requests per window.
100 (default) · 200 (high traffic) · 50 (strict)integer
default:"60000"
Window duration in milliseconds.
Related
Storage
Connect S3-compatible cloud storage.
Signed URLs
Use
API_SECRET to sign transformation URLs.