# **Core Settings** WORKDIR=/workdir DATABASE_URL=sqlite:///./app/database.db REDIS_URL=redis://redis:6379/0 EXTERNAL_HOSTNAME=docuelevate.example.com GOTENBERG_URL=http://gotenberg:3000 ALLOW_FILE_DELETE=true # Allow deletion of file records # **Authentication** AUTH_ENABLED=true SESSION_SECRET= ADMIN_USERNAME=admin ADMIN_PASSWORD=your_secure_password # **OpenID Connect/Authentik Settings** AUTHENTIK_CLIENT_ID= AUTHENTIK_CLIENT_SECRET= AUTHENTIK_CONFIG_URL= # **AI/ML Services** # OpenAI OPENAI_API_KEY="" OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4o-mini # Azure AI AZURE_REGION="eastus" AZURE_ENDPOINT="https://.cognitiveservices.azure.com/" AZURE_AI_KEY= # **Email Settings** EMAIL_HOST=smtp.example.com EMAIL_PORT=587 EMAIL_USERNAME=docuelevate@example.com EMAIL_PASSWORD=your_secure_email_password EMAIL_USE_TLS=True EMAIL_SENDER=DocuElevate System EMAIL_DEFAULT_RECIPIENT=recipient@example.com # **IMAP Settings** IMAP1_HOST=mail.example.com IMAP1_PORT=993 IMAP1_USERNAME= IMAP1_PASSWORD= IMAP1_SSL=true IMAP1_POLL_INTERVAL_MINUTES=5 IMAP1_DELETE_AFTER_PROCESS=false IMAP2_HOST=imap.gmail.com IMAP2_PORT=993 IMAP2_USERNAME= IMAP2_PASSWORD= IMAP2_SSL=true IMAP2_POLL_INTERVAL_MINUTES=10 IMAP2_DELETE_AFTER_PROCESS=false # **Storage/Document Services** # Amazon S3 AWS_REGION=us-east-1 AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY S3_BUCKET_NAME=my-document-bucket S3_FOLDER_PREFIX=documents/uploads/2023/ # Organizes files in this subfolder S3_STORAGE_CLASS=STANDARD S3_ACL=private # NextCloud NEXTCLOUD_UPLOAD_URL=https://nextcloud.example.com/remote.php/dav/files/ NEXTCLOUD_FOLDER="" NEXTCLOUD_USERNAME= NEXTCLOUD_PASSWORD= # Paperless-ngx PAPERLESS_HOST=https://paperless.example.com PAPERLESS_NGX_API_TOKEN= # Dropbox DROPBOX_APP_KEY= DROPBOX_APP_SECRET= DROPBOX_REFRESH_TOKEN= DROPBOX_FOLDER="/Documents/Uploads" # Google Drive # Service Account Method: GOOGLE_DRIVE_CREDENTIALS_JSON={"type":"service_account","project_id":"your-project","private_key_id":"key-id","private_key":"-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n","client_email":"service-account@project.iam.gserviceaccount.com","client_id":"client-id","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_x509_cert_url":"https://www.googleapis.com/robot/v1/metadata/x509/service-account%40project.iam.gserviceaccount.com"} GOOGLE_DRIVE_FOLDER_ID= GOOGLE_DRIVE_DELEGATE_TO= # OAuth Method (Alternative): GOOGLE_DRIVE_USE_OAUTH=false # Set to true to use OAuth instead of service account GOOGLE_DRIVE_CLIENT_ID=your-oauth-client-id # Required for OAuth method GOOGLE_DRIVE_CLIENT_SECRET=your-oauth-client-secret # Required for OAuth method GOOGLE_DRIVE_REFRESH_TOKEN=your-oauth-refresh-token # Required for OAuth method # OneDrive ONEDRIVE_CLIENT_ID=your-client-id ONEDRIVE_CLIENT_SECRET=your-client-secret ONEDRIVE_TENANT_ID=common ONEDRIVE_REFRESH_TOKEN=your-refresh-token ONEDRIVE_FOLDER_PATH=Documents/Uploads # WebDAV WEBDAV_URL=https://webdav.example.com/path WEBDAV_USERNAME=webdav_user WEBDAV_PASSWORD=your_secure_webdav_password WEBDAV_FOLDER=/Documents/Uploads WEBDAV_VERIFY_SSL=True # FTP FTP_HOST=ftp.example.com FTP_PORT=21 FTP_USERNAME=ftp_user FTP_PASSWORD=your_secure_ftp_password FTP_FOLDER=/Documents/Uploads FTP_USE_TLS=True FTP_ALLOW_PLAINTEXT=True # SFTP SFTP_HOST=sftp.example.com SFTP_PORT=22 SFTP_USERNAME=sftp_user SFTP_PASSWORD=your_secure_sftp_password # SFTP_PRIVATE_KEY=/path/to/private_key.pem # SFTP_PRIVATE_KEY_PASSPHRASE=optional_passphrase SFTP_FOLDER=/Documents/Uploads # **Notification Settings** # Configure notification services using Apprise URL format # See https://github.com/caronc/apprise#supported-notifications # Examples: # - Discord: discord://webhook_id/webhook_token # - Telegram: tgram://bot_token/chat_id # - Email: mailto://user:pass@example.com # - Pushover: pover://user_key/app_token # - Slack: slack://tokenA/tokenB/tokenC # - Matrix: matrix://username:password@domain/#room # You can specify multiple notification URLs by separating them with commas NOTIFICATION_URLS=discord://webhook_id/webhook_token,mailto://user:pass@gmail.com,tgram://bot_token/chat_id # Control when notifications are sent NOTIFY_ON_TASK_FAILURE=True NOTIFY_ON_CREDENTIAL_FAILURE=True NOTIFY_ON_STARTUP=True NOTIFY_ON_SHUTDOWN=False # Uptime Kuma UPTIME_KUMA_URL=https://status.example.com/api/push/abcdef123456?status=up UPTIME_KUMA_PING_INTERVAL=5