From ab37f3b2332b3df47f75a418fb1ebaad71f02bee Mon Sep 17 00:00:00 2001 From: Hane Date: Wed, 27 May 2026 20:14:37 +0200 Subject: [PATCH] feat: added pluton --- compose/pluton/compose.yaml | 60 +++++++++++++++++++++++++++++++++++++ compose/pluton/sample.env | 6 ++++ 2 files changed, 66 insertions(+) create mode 100644 compose/pluton/compose.yaml create mode 100644 compose/pluton/sample.env diff --git a/compose/pluton/compose.yaml b/compose/pluton/compose.yaml new file mode 100644 index 0000000..13b360b --- /dev/null +++ b/compose/pluton/compose.yaml @@ -0,0 +1,60 @@ + +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" + \ No newline at end of file diff --git a/compose/pluton/sample.env b/compose/pluton/sample.env new file mode 100644 index 0000000..d7aa0cd --- /dev/null +++ b/compose/pluton/sample.env @@ -0,0 +1,6 @@ +ENCRYPTION_KEY='' +USER_NAME='' +USER_PASSWORD='' + +# Optional - override defaults +SERVER_PORT='8001'