mirror of
https://github.com/DumbWareio/DumbDrop.git
synced 2026-02-04 18:28:13 +08:00
* feat(docker): Enhance Docker configuration and entrypoint management - Updated .env.example to include user/group ID and umask settings for better file permission management in Docker. - Modified docker-compose.yml to specify version and added restart policy for the service. - Enhanced Dockerfile to create user/group based on ARG values and set umask for file creation. - Introduced entrypoint.sh script to manage user permissions and execute commands with appropriate privileges. These changes improve the Docker setup for better handling of file permissions and user management, ensuring a smoother development and deployment experience. * - Update dockerfile to use existing PUID, PGID if exists and create one as fallback. - include environment variables in docker compose as well --------- Co-authored-by: gitmotion <43588713+gitmotion@users.noreply.github.com>
130 lines
4.0 KiB
Plaintext
130 lines
4.0 KiB
Plaintext
#########################################
|
|
# SERVER CONFIGURATION
|
|
#########################################
|
|
|
|
# Port for the server (default: 3000)
|
|
PORT=3000
|
|
|
|
# Base URL for the application (must end with '/', default: http://localhost:PORT/)
|
|
BASE_URL=http://localhost:3000/
|
|
|
|
# Node environment (default: development)
|
|
NODE_ENV=development
|
|
|
|
#########################################
|
|
# STORAGE CONFIGURATION
|
|
#########################################
|
|
|
|
# Storage type ('local' or 's3', default: local)
|
|
STORAGE_TYPE=local
|
|
|
|
#########################################
|
|
# LOCAL STORAGE SETTINGS (if STORAGE_TYPE=local)
|
|
#########################################
|
|
|
|
# Directory for uploads (local dev, fallback: './local_uploads')
|
|
LOCAL_UPLOAD_DIR=./local_uploads
|
|
|
|
# Directory for uploads (Docker/production; optional, overrides LOCAL_UPLOAD_DIR if set)
|
|
UPLOAD_DIR=
|
|
|
|
#########################################
|
|
# S3 STORAGE SETTINGS (if STORAGE_TYPE=s3)
|
|
#########################################
|
|
|
|
# S3 Region (e.g., us-east-1 for AWS, us-west-000 for B2)
|
|
S3_REGION=
|
|
|
|
# S3 Bucket Name
|
|
S3_BUCKET_NAME=
|
|
|
|
# S3 Access Key ID
|
|
S3_ACCESS_KEY_ID=
|
|
|
|
# S3 Secret Access Key
|
|
S3_SECRET_ACCESS_KEY=
|
|
|
|
# Optional: S3 Endpoint URL (for non-AWS S3-compatible providers like MinIO, Backblaze B2)
|
|
# Example Backblaze B2: https://s3.us-west-000.backblazeb2.com
|
|
# Example MinIO: http://minio.local:9000
|
|
S3_ENDPOINT_URL=
|
|
|
|
# Optional: Force Path Style (true/false, default: false). Needed for some providers like MinIO.
|
|
S3_FORCE_PATH_STYLE=false
|
|
|
|
#########################################
|
|
# FILE UPLOAD LIMITS & OPTIONS
|
|
#########################################
|
|
|
|
# Maximum file size in MB (default: 1024)
|
|
MAX_FILE_SIZE=1024
|
|
|
|
# Comma-separated list of allowed file extensions (optional, e.g. .jpg,.png,.pdf)
|
|
# ALLOWED_EXTENSIONS=.jpg,.png,.pdf
|
|
ALLOWED_EXTENSIONS=
|
|
|
|
#########################################
|
|
# SECURITY
|
|
#########################################
|
|
|
|
# PIN protection (4-10 digits, optional)
|
|
# DUMBDROP_PIN=1234
|
|
DUMBDROP_PIN=
|
|
|
|
#########################################
|
|
# UI SETTINGS
|
|
#########################################
|
|
|
|
# Site title displayed in header (default: DumbDrop)
|
|
DUMBDROP_TITLE=DumbDrop
|
|
|
|
# Custom footer links (comma-separated, format: "Link Text @ URL")
|
|
# Example: FOOTER_LINKS=My Site @ https://example.com, Another Link @ https://another.org
|
|
FOOTER_LINKS=
|
|
|
|
#########################################
|
|
# NOTIFICATION SETTINGS
|
|
#########################################
|
|
|
|
# Apprise URL for notifications (optional)
|
|
APPRISE_URL=
|
|
|
|
# Notification message template (default: New file uploaded {filename} ({size}), Storage used {storage})
|
|
APPRISE_MESSAGE=New file uploaded {filename} ({size}), Storage used {storage}
|
|
|
|
# Size unit for notifications (B, KB, MB, GB, TB, or Auto; default: Auto)
|
|
APPRISE_SIZE_UNIT=Auto
|
|
|
|
#########################################
|
|
# ADVANCED
|
|
#########################################
|
|
|
|
# Enable automatic upload on file selection (true/false, default: false)
|
|
AUTO_UPLOAD=false
|
|
|
|
# Comma-separated list of origins allowed to embed the app in an iframe (optional)
|
|
# ALLOWED_IFRAME_ORIGINS=https://example.com,https://another.com
|
|
ALLOWED_IFRAME_ORIGINS=
|
|
|
|
# --- Docker Specific Settings ---
|
|
# User and Group IDs for file permissions
|
|
# Sets the user/group the application runs as inside the container.
|
|
# Files created in the mapped volume (e.g., ./local_uploads) will have this ownership.
|
|
# Set these to match your host user's ID/GID to avoid permission issues.
|
|
# Find your IDs with `id -u` and `id -g` on Linux/macOS.
|
|
# PUID=1000
|
|
# PGID=1000
|
|
|
|
# File Mode Creation Mask (Umask)
|
|
# Controls the default permissions for newly created files.
|
|
# 022 (default): Files 644 (rw-r--r--), Dirs 755 (rwxr-xr-x)
|
|
# 002: Files 664 (rw-rw-r--), Dirs 775 (rwxrwxr-x) - Good for group sharing
|
|
# 007: Files 660 (rw-rw----), Dirs 770 (rwxrwx---) - More restrictive
|
|
# 077: Files 600 (rw-------), Dirs 700 (rwx------) - Most restrictive
|
|
# UMASK=022
|
|
|
|
# Max number of retries for client-side chunk uploads (default: 5)
|
|
CLIENT_MAX_RETRIES=5
|
|
|
|
# Demo Mode (true/false, default: false). Overrides storage settings.
|
|
DEMO_MODE=false |