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. settings sidebar access

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.

windows security dialog
A Windows security dialog showing a passkey.

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.



Last updated: 2/11/2025
Edit this page on GitHub