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: