Settings
As of Zipline v4, most configuration options can be managed through the settings dashboard. However, some settings require a server restart.
To access the settings dashboard, navigate to /dashboard/admin/settings
on your Zipline instance.
Core
This section is for core configuration, like whether or not to return HTTPS urls. Some of these options may require a server restart after saving.
Chunks
This section is for partial uploads. When uploading through the dashboard, if the file is too large (Max Chunk Size
), it will be split into smaller chunks (size of Chunk Size
).
This is useful for large files that may be interrupted during upload due to file size limitations on the server or DNS.
Tasks
These are internal tasks that Zipline runs in the background on intervals. The default value for all of them is 30 minutes. All of settings require a server restart after saving.
Multi-Factor Authentication
These are settings to manage passkey and time-based one-time password (TOTP) authentication.
Passkeys are used as a method of passwordless authentication. They can be your phone or security key (whatever your OS supports!). When enabled, the login screen will include a "Login with Passkey" button below the login fields. Once clicked a dialog (varies by browser and OS, some may not support this feature) will appear with a passkey that can be used to login.

Time-based one-time passwords are generated by an authenticator app like Google Authenticator, Authy, 2FAS Auth. When enabled, after logging in with a username and password, the user will be prompted to enter a code from their authenticator app.
Features
These are various features that you can enable or disable. Some of these features may require a server restart after saving.
Thumbnails are generated with ffmpeg
, some files may not be supported. If you are having issues with thumbnails, feel free to open an issue on GitHub with relevant info.
The command used to generate thumbnails is ffmpeg -i tmpfile -y -vframes 1 -filter:v thumbnail -f mjpeg out.jpg
. If you are using S3, the file is downloaded and saved to the temp directory.
Thumbnails Number Threads
is the number of worker threads to spawn when generating thumbnails. It is recommended to set this to the number of CPU threads on your server. If you set this too high, it may cause performance issues. If you are noticing performance issues, try setting this value to 1
, so that only one worker thread is spawned. If this value is low, thumbnails will be grouped to be processed by the same worker thread, which may cause a bottleneck.
Files
These settings are for viewing and uploading files. The route can be anything, even /
if you want to serve files from the root of your domain. Enabling Remove GPS Metadata
will attempt to remove any exif GPS metadata from images uploaded to Zipline.
The Assume Mimetypes
can be enabled to assume the mimetype of a file based on the file extension. This is useful for files that may not have a mimetype set by the browser or uploader.
URL Shortener
These settings are for the URL shortener feature. The route can be anything, even /
if you want to serve shortened URLs from the root of your domain.
Invites
Invites are used to invite users to your Zipline instance with the use of invite codes/links. When enabled, users will be able to send invites to other users.
Ratelimit
If enabled, the ratelimit will be enforced on the /api/upload
and /api/shorten
routes. If you set the Max Requests
, you will have to also set the Window
in seconds. The Max Requests
is the number of requests allowed in the Window
before the ratelimit is enforced.
The allow list is a comma-separated list of IP addresses that are allowed to bypass the ratelimit.
Website
These are settings for the dashboard, mostly user facing settings. The Default Avatar
must be a path on the server to an image file. The default theme settings are used for the login and viewing image pages when not logged in.
The Terms of Service
should be a path on the server to a .md
(Markdown) file. Once set, when a user registers, they will be prompted to read and agree to the terms of service which will be rendered markdown.
External links can be configured through a JSON array. Each object in the array must have the name
and url
keys. The name
is the name of the link, and the url
is the URL to the link. Visit External Links Builder to help generate the JSON array.
OAuth
These settings enable the four OAuth providers that Zipline supports. The currently supported providers are Google, GitHub, Discord, and OIDC (like Okta, Authentik, Keycloak, etc.). Each provider requires a client ID and client secret. There are more detailed instructions on how to set up each provider below the settings.
HTTP Webhooks
These settings are for HTTP webhooks. When enabled, Zipline will send a POST request to the URL with the file information. For more information on the payload, see the HTTP Webhooks guide.
Discord Webhook
These settings are for Discord webhook notifications. If the main Webhook URL
, Username
, and Avatar URL
are set, the On Upload and On Shorten hook will use them unless, they have their own values set.
Content fields like Content
, Embed Title
, Embed Description
can have variables in them for customization.