Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/diced/zipline/llms.txt

Use this file to discover all available pages before exploring further.

This page documents all environment variables supported by Zipline, organized by category.

Core Settings

Fundamental server and database configuration.
CORE_PORT
number
default:"3000"
Port number for the HTTP server.
CORE_PORT=3000
CORE_HOSTNAME
string
default:"0.0.0.0"
Hostname or IP address to bind the server to.
CORE_HOSTNAME=0.0.0.0
CORE_SECRET
string
required
Secret key for session encryption and security. Must be at least 32 characters long.
CORE_SECRET="your-secure-secret-key-min-32-chars"
Never use the default value changethis. Generate a secure random string:
openssl rand -base64 42 | tr -dc A-Za-z0-9 | cut -c -32
CORE_TRUST_PROXY
boolean
default:"false"
Enable trust for proxy headers (X-Forwarded-For, X-Forwarded-Proto). Required when behind a reverse proxy.
CORE_TRUST_PROXY=true
CORE_RETURN_HTTPS_URLS
boolean
default:"false"
Return HTTPS URLs instead of HTTP when generating file links.
CORE_RETURN_HTTPS_URLS=true
CORE_DEFAULT_DOMAIN
string
default:"null"
Default domain to use for generating URLs. If not set, uses the request hostname.
CORE_DEFAULT_DOMAIN=files.example.com
CORE_TEMP_DIRECTORY
string
default:"/tmp/zipline"
Directory for temporary files during processing.
CORE_TEMP_DIRECTORY=/var/tmp/zipline

Database Configuration

DATABASE_URL
string
required
PostgreSQL connection string. Required unless using individual database variables.
DATABASE_URL=postgresql://user:password@localhost:5432/zipline
You can use either DATABASE_URL or the individual database variables below. If both are provided, DATABASE_URL takes precedence.
DATABASE_USERNAME
string
Database username (alternative to DATABASE_URL).
DATABASE_PASSWORD
string
Database password (alternative to DATABASE_URL).
DATABASE_HOST
string
Database host (alternative to DATABASE_URL).
DATABASE_PORT
number
Database port (alternative to DATABASE_URL).
DATABASE_NAME
string
Database name (alternative to DATABASE_URL).
When using individual database variables, ALL five must be provided (username, password, host, port, name).

Datasource Configuration

DATASOURCE_TYPE
string
default:"local"
Storage backend type. Options: local, s3.
DATASOURCE_TYPE=local

Local Datasource

DATASOURCE_LOCAL_DIRECTORY
string
default:"./uploads"
Directory path for storing uploaded files when using local datasource.
DATASOURCE_LOCAL_DIRECTORY=/var/lib/zipline/uploads

S3 Datasource

DATASOURCE_S3_ACCESS_KEY_ID
string
AWS access key ID or S3-compatible access key.
DATASOURCE_S3_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
DATASOURCE_S3_SECRET_ACCESS_KEY
string
AWS secret access key or S3-compatible secret key.
DATASOURCE_S3_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
DATASOURCE_S3_REGION
string
AWS region for S3 bucket.
DATASOURCE_S3_REGION=us-west-2
DATASOURCE_S3_BUCKET
string
S3 bucket name for file storage.
DATASOURCE_S3_BUCKET=my-zipline-files
DATASOURCE_S3_ENDPOINT
string
default:"null"
Custom S3 endpoint for S3-compatible services (MinIO, DigitalOcean Spaces, etc.).
DATASOURCE_S3_ENDPOINT=https://nyc3.digitaloceanspaces.com
DATASOURCE_S3_FORCE_PATH_STYLE
boolean
default:"false"
Use path-style URLs instead of virtual-hosted-style. Required for some S3-compatible services.
DATASOURCE_S3_FORCE_PATH_STYLE=true
DATASOURCE_S3_SUBDIRECTORY
string
default:"null"
Subdirectory within the bucket to store files.
DATASOURCE_S3_SUBDIRECTORY=zipline-uploads
When DATASOURCE_TYPE=s3, all required S3 credentials must be provided (access key, secret key, region, bucket).

Chunked Uploads

CHUNKS_ENABLED
boolean
default:"true"
Enable chunked/multipart uploads for large files.
CHUNKS_ENABLED=true
CHUNKS_MAX
string
default:"95mb"
Maximum size for chunked uploads.
CHUNKS_MAX=100mb
CHUNKS_SIZE
string
default:"25mb"
Size of each chunk in multipart uploads.
CHUNKS_SIZE=25mb

Background Tasks

Interval settings for background maintenance tasks.
All interval values use the ms format: 30s, 5m, 1h, 1d, etc. Maximum value is 2147483647ms (~24.8 days).
TASKS_DELETE_INTERVAL
string
default:"30m"
Interval for checking and deleting expired files.
TASKS_DELETE_INTERVAL=15m
TASKS_CLEAR_INVITES_INTERVAL
string
default:"30m"
Interval for clearing expired invites.
TASKS_CLEAR_INVITES_INTERVAL=1h
TASKS_MAX_VIEWS_INTERVAL
string
default:"30m"
Interval for checking files that have reached maximum view count.
TASKS_MAX_VIEWS_INTERVAL=10m
TASKS_THUMBNAILS_INTERVAL
string
default:"30m"
Interval for generating thumbnails for new uploads.
TASKS_THUMBNAILS_INTERVAL=5m
TASKS_METRICS_INTERVAL
string
default:"30m"
Interval for collecting and aggregating metrics.
TASKS_METRICS_INTERVAL=1h
TASKS_CLEAN_THUMBNAILS_INTERVAL
string
default:"1d"
Interval for cleaning up orphaned thumbnails.
TASKS_CLEAN_THUMBNAILS_INTERVAL=1d

File Upload Settings

FILES_ROUTE
string
default:"/u"
URL route prefix for uploaded files.
FILES_ROUTE=/f
FILES_LENGTH
number
default:"6"
Length of randomly generated file names.
FILES_LENGTH=8
FILES_DEFAULT_FORMAT
string
default:"random"
Default naming format for uploaded files. Options: random, date, uuid, name, gfycat, random-words.
FILES_DEFAULT_FORMAT=random
FILES_DISABLED_EXTENSIONS
string[]
default:"[]"
Comma-separated list of file extensions to block.
FILES_DISABLED_EXTENSIONS=exe,bat,cmd
FILES_MAX_FILE_SIZE
string
default:"100mb"
Maximum file size for uploads.
FILES_MAX_FILE_SIZE=500mb
FILES_DEFAULT_EXPIRATION
string
default:"null"
Default expiration time for uploaded files.
FILES_DEFAULT_EXPIRATION=7d
FILES_MAX_EXPIRATION
string
default:"null"
Maximum allowed expiration time users can set.
FILES_MAX_EXPIRATION=30d
FILES_ASSUME_MIMETYPES
boolean
default:"false"
Assume MIME types from file extensions instead of detecting.
FILES_ASSUME_MIMETYPES=true
FILES_DEFAULT_DATE_FORMAT
string
default:"YYYY-MM-DD_HH:mm:ss"
Date format for date naming format.
FILES_DEFAULT_DATE_FORMAT=YYYY-MM-DD_HH-mm-ss
FILES_REMOVE_GPS_METADATA
boolean
default:"false"
Automatically strip GPS metadata from uploaded images.
FILES_REMOVE_GPS_METADATA=true
FILES_RANDOM_WORDS_NUM_ADJECTIVES
number
default:"2"
Number of adjectives in random-words naming format.
FILES_RANDOM_WORDS_NUM_ADJECTIVES=3
FILES_RANDOM_WORDS_SEPARATOR
string
default:"-"
Separator character for random-words naming format.
FILES_RANDOM_WORDS_SEPARATOR=_
FILES_DEFAULT_COMPRESSION_FORMAT
string
default:"jpg"
Default image format for compression. Options: jpg, png, webp.
FILES_DEFAULT_COMPRESSION_FORMAT=webp

URL Shortener Settings

URLS_ROUTE
string
default:"/go"
URL route prefix for shortened URLs.
URLS_ROUTE=/s
URLS_LENGTH
number
default:"6"
Length of randomly generated short URL codes.
URLS_LENGTH=5

Feature Toggles

FEATURES_IMAGE_COMPRESSION
boolean
default:"true"
Enable image compression features.
FEATURES_IMAGE_COMPRESSION=true
FEATURES_ROBOTS_TXT
boolean
default:"true"
Serve a robots.txt file.
FEATURES_ROBOTS_TXT=false
FEATURES_HEALTHCHECK
boolean
default:"true"
Enable the /api/healthcheck endpoint.
FEATURES_HEALTHCHECK=true
FEATURES_USER_REGISTRATION
boolean
default:"false"
Allow new user registration.
FEATURES_USER_REGISTRATION=true
FEATURES_OAUTH_REGISTRATION
boolean
default:"false"
Allow registration via OAuth providers.
FEATURES_OAUTH_REGISTRATION=true
FEATURES_DELETE_ON_MAX_VIEWS
boolean
default:"true"
Automatically delete files when they reach maximum view count.
FEATURES_DELETE_ON_MAX_VIEWS=true
FEATURES_VERSION_CHECKING
boolean
default:"true"
Check for new Zipline versions.
FEATURES_VERSION_CHECKING=false
FEATURES_VERSION_API
string
default:"https://zipline-version.diced.sh"
API endpoint for version checking.
FEATURES_VERSION_API=https://custom-version-api.example.com

Thumbnail Settings

FEATURES_THUMBNAILS_ENABLED
boolean
default:"true"
Enable automatic thumbnail generation.
FEATURES_THUMBNAILS_ENABLED=true
FEATURES_THUMBNAILS_NUM_THREADS
number
default:"4"
Number of worker threads for thumbnail generation.
FEATURES_THUMBNAILS_NUM_THREADS=8
FEATURES_THUMBNAILS_FORMAT
string
default:"jpg"
Output format for thumbnails. Options: jpg, png, webp.
FEATURES_THUMBNAILS_FORMAT=webp

Metrics Settings

FEATURES_METRICS_ENABLED
boolean
default:"true"
Enable metrics collection and analytics.
FEATURES_METRICS_ENABLED=true
FEATURES_METRICS_ADMIN_ONLY
boolean
default:"false"
Restrict metrics viewing to administrators only.
FEATURES_METRICS_ADMIN_ONLY=true
FEATURES_METRICS_SHOW_USER_SPECIFIC
boolean
default:"true"
Show user-specific metrics to individual users.
FEATURES_METRICS_SHOW_USER_SPECIFIC=true

Domain Configuration

DOMAINS
string[]
default:"[]"
Comma-separated list of additional domains for multi-domain support.
DOMAINS=files.example.com,uploads.example.com

Invite System

INVITES_ENABLED
boolean
default:"true"
Enable the invite system for user registration.
INVITES_ENABLED=true
INVITES_LENGTH
number
default:"6"
Length of generated invite codes.
INVITES_LENGTH=8

Next Steps

Datasource Configuration

Detailed S3 and local storage setup

Authentication

OAuth providers and MFA configuration

Build docs developers (and LLMs) love