Pluton is a free, open source backup & recovery project written in TypeScript and released under Apache-2.0. It has 787 GitHub stars, 31 forks and 5 open issues, and was last pushed 8 days ago. On this registry it ranks #2 of 2 tracked projects in Backup & Recovery, with 5 head-to-head comparisons available. It gained 11 stars over the last 6 tracked days.

What is Pluton?

What it is

Pluton is an Apache-2.0 licensed, self-hosted backup management platform written in TypeScript. It lives in the backup and recovery ecosystem, and it uses Restic for encrypted incremental backups and Rclone for cloud storage connectivity. The project provides a web interface for creating, scheduling, monitoring, and restoring backup jobs across local and remote storage destinations.

The concrete problem it solves is coordinating secure backup policy, storage selection, retention, retry behavior, and restore access. It is aimed at self-hosters who want a 3-2-1 backup pattern without building a custom pipeline around Restic and Rclone. The platform tracks backup progress, exposes logs, and supports replication to multiple cloud storage services.

Key capabilities

  • Automated incremental backups use Restic and support encryption, compression, retention policies, and scheduling.
  • Backup replication sends content to multiple cloud storage destinations to support a 3-2-1 backup plan.
  • End-to-end encryption applies from the local machine to cloud storage, using a required snapshot encryption key.
  • Rclone provides connectivity to more than 70 storage destinations.
  • Restore and download workflows retrieve backed up snapshot data from the web interface.
  • Event notifications can be sent to Email, Slack, Discord, and NTFY push notifications.
  • Auto retry logic can rerun failed backups, and scripts can run before or after backup jobs.

Who uses it and how

  • Self-hosters manage desktop or server backups through a browser interface instead of only using command-line tools.
  • Users with multiple cloud providers configure encrypted storage destinations and replication jobs for redundant backup copies.
  • Individuals schedule recurring jobs, monitor real-time progress, and inspect logs when backups fail.
  • Operators mount local directories or Docker volumes as backup sources, and writable local paths as backup destinations.
  • Administrators protect the web interface with username, password, and session duration settings while running the service as a Docker container.

Getting started

Pluton can be installed on Windows, macOS, and Linux desktops from installer downloads, or run with Docker and Docker Compose using the plutonhq/pluton:latest image. The Docker setup requires a docker-compose.yml file and an .env file with required security variables, including ENCRYPTION_KEY, USER_NAME, and USER_PASSWORD.

When to use it — and when not to

Pluton is useful when a self-hoster wants a single interface for Restic and Rclone workflows, especially for encrypted local and cloud backups with scheduling, logs, and notifications. It is less suitable for users who want a fully managed service or who are unwilling to operate the application container, database volume, credentials, storage mounts, and notification endpoints. The repository metadata shows a young project with no contributors listed and only 5 open issues, indicating limited evidence of long-term support depth.

project readme (upstream, from github) — read inline

Pluton

Open-Source, Self-Hosted Backup Solution That Puts You in Control



Pluton Screenshot

Intro

Pluton is a self-hosted backup management platform that simplifies automated, incremental backups across your storage destinations. Pluton leverages powerful open-source tools - Restic for secure incremental backups and Rclone for versatile cloud storage connectivity - wrapped in an intuitive web interface designed for both beginners and advanced users.

Website   |   Documentation

Features

  •   Automated backups with encryption, compression and retention policies powered by Restic
  •   Backup Replication Auto backup your content to multiple cloud storages to create 3-2-1 backup plans.
  •   Easy Restore & Download: Restore or download backed up snapshot data easily with just a few clicks.
  •   Flexible scheduling For automated backup jobs with fine-grained retention policies
  •   End-to-end encryption Backups are totally encrypted from your local machine to your cloud storage.
  •   70+ Storage Support: Store encrypted data to your favorite cloud storages (powered by rclone).
  •   Event Notifications: Get notifications to Email, Slack, Discord & Push Notifications (NTFY).
  •   Auto Retry Logic: Automatically retries backups if they fail with customization options.
  •   Intuitive UI: Manage everything from a single, clean interface.
  •   Real-time Progress Tracking: Track the progress of your backups in real-time.
  •   Extensive Logging: View app and backup logs right from the UI for better debugging.
  •   Run Scripts before/after: Ability to run scripts before and after running backups.

Installation

Desktop Installation

Pluton can be installed on Windows, macOS and Linux Desktop variants. You can download the installers from the Download page.

Docker Installation

To run Pluton, make sure you have Docker and Docker Compose installed on your machine. Then, use the provided docker-compose.yml file to run the application.

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/user/documents:/mnt/documents:ro #linux
      # - /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

      # Example: Mount a host directory to store backups in (Local Storage)
      # Leave out ":ro", a backup destination has to be writable. In Pluton,
      # select the container path (/mnt/backups), not the host path.
      # - /mnt/disk1/backups:/mnt/backups #linux
      # - D:/backups:/mnt/backups # 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"

volumes:
  pluton-data:

Then create an .env file that contains the required environment variables:

ENCRYPTION_KEY=s0eK1r12973fS501SW
USER_NAME=admin
USER_PASSWORD=0123456789

# Optional - override defaults
SERVER_PORT=7173

And finally, run:

docker compose up -d

Installing on Linux Servers

Pluton can be installed on headless Linux servers. Follow the installation instruction to get started.


Acknowledgements

Pluton is built on the shoulders of giants. We would like to thank the creators and contributors of the following projects:

  • Restic (BSD 2-Clause License): For providing the robust and secure backup foundation.
  • Rclone (MIT License): For enabling seamless connectivity to a vast array of cloud storage providers.

Frequently asked questions

Is Pluton free to use?

Pluton is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Pluton do?

Self-hosted encrypted backups with 70+ cloud storage options

What is Pluton written in?

Pluton is primarily written in TypeScript. Its source is publicly available at https://github.com/plutonhq/pluton, and it has 787 GitHub stars.