DockerCompose/TidalStream (Zipline)/docker-compose.yml

76 lines
2.9 KiB
YAML

version: '3'
services:
postgres:
image: postgres:15
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DATABASE=postgres
volumes:
- pg_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres']
interval: 10s
timeout: 5s
retries: 5
zipline:
image: ghcr.io/diced/zipline
ports:
- '3001:3001'
restart: unless-stopped
environment:
# Set this to 'false' if you are not using a reverse proxy with HTTPS
- CORE_RETURN_HTTPS=true
- CORE_SECRET=changeme
- CORE_HOST=0.0.0.0
- CORE_DATABASE_URL=postgres://postgres:postgres@postgres/postgres
- CORE_PORT=3001
- CORE_LOGGER=true
# If you don't want to use s3, change the variables below:
# See: https://zipline.diced.sh/docs/config/datasource
- DATASOURCE_TYPE=s3
- DATASOURCE_S3_SECRET_ACCESS_KEY=changeme
- DATASOURCE_S3_ACCESS_KEY_ID=changeme
- DATASOURCE_S3_ENDPOINT=changeme
- DATASOURCE_S3_BUCKET=zipline
- DATASOURCE_S3_FORCE_S3_PATH=true
- DATASOURCE_S3_REGION=changeme
- DATASOURCE_S3_USE_SSL=true
# Website configuration
- WEBSITE_TITLE=TidalStream
- MFA_TOTP_ENABLED=true # Enables 2 Factor Authentication
- EXIF_ENABLED=true # Enables Exiftool metadata, see https://zipline.diced.sh/docs/config/exif
# Uncomment this line if you want GPS metadata to be automatically removed:
# - EXIF_REMOVE_GPS=true
- OAUTH_DISCORD_CLIENT_ID=changeme
- OAUTH_DISCORD_CLIENT_SECRET=changeme
- FEATURES_OAUTH_REGISTRATION=true # Allows users to register using an OAuth provider, see https://zipline.diced.sh/docs/config/oauth
- FEATURES_OAUTH_LOGIN_ONLY=true # Allows users to log into their accounts using an OAuth provider, but disallows registration
# Discord webhook configuration
- DISCORD_URL=changeme
- DISCORD_UPLOAD_USERNAME=TidalStream Uploads
- DISCORD_SHORTEN_USERNAME=TidalStream URLs
- DISCORD_UPLOAD_EMBED_IMAGE=true
- DISCORD_SHORTEN_EMBED_IMAGE=false
- DISCORD_UPLOAD_EMBED_TITLE=New file uploaded!
- DISCORD_SHORTEN_EMBED_TITLE=New URL shortened!
- DISCORD_UPLOAD_EMBED_DESCRIPTION=**User:** `{user.username}`\n**Size:** `{file.size::bytes}`
- DISCORD_SHORTEN_EMBED_DESCRIPTION=**User:** `{user.username}`\n**Vanity:** `{url.vanity}`\n**Destination:** `{url.destination}`
- DISCORD_UPLOAD_EMBED_FOOTER=File ID - {file.id}
- DISCORD_SHORTEN_EMBED_FOOTER=URL ID - {url.id}
- DISCORD_UPLOAD_EMBED_COLOR=0x0c101c
- DISCORD_SHORTEN_EMBED_COLOR=0x0c101c
- DISCORD_AVATAR_URL=https://cdn.seaswimmer.cc/tidalstream.png
volumes:
- './uploads:/zipline/uploads'
- './public:/zipline/public'
depends_on:
- 'postgres'
volumes:
pg_data: