pihanepi/compose/pluton/compose.yaml
2026-05-27 20:14:37 +02:00

60 lines
No EOL
2.1 KiB
YAML

services:
pluton:
image: plutonhq/pluton:latest
container_name: pluton-backup
#restart: unless-stopped
ports:
- "${SERVER_PORT:-5173}:${SERVER_PORT:-5173}"
volumes:
# Main data volume - contains database, config, logs
- pluton-data:/data
# Optional: Mount host directories to backup
# Example: Make user's documents folders Accessible to Pluton
- /home/hane/pihanepi/config/nginx:/mnt/nginxconf #linux
- /home/hane/pihanepi/data/pluton/backupdir:/mnt/backupdir
# - /home/user/photos:/mnt/photos:ro #linux
# - C:/Users/username/Documents:/mnt/documents:ro # Windows
# - C:/Users/username/Pictures:/mnt/photos:ro # Windows
# Example: Make a Docker volume (named 'wp-data') Accessible to Pluton
# - /var/lib/docker/volumes/wp-data/_data:/mnt/wordpress:ro
# - C:/ProgramData/docker/volumes/wp-data/_data:/mnt/wordpress:ro # Windows
environment:
# ===== REQUIRED: Security & Authentication =====
# Generate secure random strings (min 12 characters each)
ENCRYPTION_KEY: ${ENCRYPTION_KEY} # Encryption key for restic/rclone Snapshot encryption
USER_NAME: ${USER_NAME} # Admin username for login
USER_PASSWORD: ${USER_PASSWORD} # Admin password for login
# ===== Application Settings =====
APP_TITLE: ${APP_TITLE:-Pluton}
#APP_URL: ${APP_URL:-http://localhost:5173}
SERVER_PORT: ${SERVER_PORT:-5173}
MAX_CONCURRENT_BACKUPS: ${MAX_CONCURRENT_BACKUPS:-2}
SESSION_DURATION: ${SESSION_DURATION:-7} # How long frontend login Session lasts in Days
# ===== User Interface Security Settings =====
ALLOW_CUSTOM_RESTORE_PATH: ${ALLOW_CUSTOM_RESTORE_PATH:-true}
ALLOW_FILE_BROWSER: ${ALLOW_FILE_BROWSER:-true}
DISABLE_EVENT_SCRIPTS: ${DISABLE_EVENT_SCRIPTS:-false}
# ===== Docker-specific (do not change) =====
NODE_ENV: production
IS_DOCKER: "true"
#command: ssh-keyscan -t dsa,rsa,ecdsa,ed25519 example.com >> known_hosts
volumes:
pluton-data:
name: "test"
driver_opts:
type: "volume"
external: "true"