Arco is an incremental backup tool designed with simplicity in mind.
  • Go 44.1%
  • Vue 33.2%
  • TypeScript 18.2%
  • Shell 1.8%
  • Dockerfile 0.9%
  • Other 1.8%
Find a file
2026-04-03 10:37:06 +02:00
.claude feat: relax repository name restrictions (#227) 2025-12-19 15:02:12 +01:00
.github/workflows chore(linux): simplify package naming without version (#257) 2026-01-22 20:15:02 +01:00
.idea chore: update IDE config and demo gif 2026-01-08 19:17:30 +01:00
backend feat(tray): add click handler to open app from systray 2026-04-02 10:55:07 +02:00
build feat(ui): add Full Disk Access warning and UI improvements (#264) 2026-01-27 20:45:55 +01:00
docker feat: update borg to 1.4.3 (#225) 2025-12-19 09:55:56 +01:00
docs chore: make demo video slower 2026-01-08 19:35:28 +01:00
frontend fix(ui): prevent analytics and feedback dialogs from stacking on startup (#292) 2026-04-03 10:29:35 +02:00
proto feat(analytics): add opt-out usage logging with local event buffering and cloud RPC (#289) (#289) 2026-04-02 10:32:55 +02:00
scripts feat: improve MacOS borg binary support (#232) 2025-12-30 10:44:47 +01:00
.coderabbit.yaml fix(db): consolidate archive-backup_profile foreign key columns (#207) 2025-11-25 15:16:09 +01:00
.DS_Store fix(restart): replace syscall.Exec with spawn+exit to preserve macOS systray (#280) 2026-03-05 10:56:22 +01:00
.env.example fix: arco cloud repository creation flow (#243) 2026-01-03 09:27:05 +01:00
.gitignore feat(linux): add native Linux packaging (deb, rpm, Arch) (#253) 2026-01-22 16:40:00 +01:00
.golangci.yml chore: small fixes (#184) 2025-09-04 15:16:29 +02:00
.mcp.json chore: adjust mcp paths 2025-10-05 20:10:14 +02:00
.release-please-manifest.json chore(main): release 0.23.0 2026-04-03 10:37:06 +02:00
CHANGELOG.md chore(main): release 0.23.0 2026-04-03 10:37:06 +02:00
CLAUDE.md refactor: move internal packages into app directory (#234) 2025-12-30 12:25:55 +01:00
go.mod chore: update all Go and frontend dependencies (#283) 2026-03-20 12:15:59 +01:00
go.sum chore: update all Go and frontend dependencies (#283) 2026-03-20 12:15:59 +01:00
LICENSE feat: improve macos installation (#220) 2025-12-12 18:44:04 +01:00
main.go feat: add macos code signing (#209) 2025-11-28 11:32:02 +01:00
README.md feat(ui): improve PruningCard with timeline and preset buttons (#265) 2026-01-28 14:38:25 +01:00
release-please-config.json fix: arco cloud repository creation flow (#243) 2026-01-03 09:27:05 +01:00
Taskfile.db.yml feat(ci): add migration linting to CI pipeline (#236) 2025-12-31 16:25:43 +01:00
Taskfile.dev.yml feat: add quequed operations (#187) 2025-10-02 19:16:42 +02:00
Taskfile.yml feat(linux): add native Linux packaging (deb, rpm, Arch) (#253) 2026-01-22 16:40:00 +01:00
wails.json chore: use pnpm everywhere 2024-06-14 10:55:46 +02:00

Icon

Arco Backup

CI Go Report Card

Demo

About

Arco is a backup tool that provides a simple and beautiful GUI for managing backups.

It uses Borg and is compatible with any Borg repository starting from version 1.2.7.

Checkout the website for more information.

Note

Not vibecoded

I have 10+ years of experience in software development. While I use Claude Code for writing code and Coderabbit for reviews, all features are manually planned and code is reviewed before merging.

Installation

MacOS

Download and run the installer: Arco-Installer.pkg

Linux

Ubuntu / Debian (.deb)

curl -sL https://github.com/loomi-labs/arco/releases/latest/download/arco-linux-amd64.deb -o /tmp/arco-linux-amd64.deb
sudo apt install /tmp/arco-linux-amd64.deb

Fedora / RHEL (.rpm)

curl -sL https://github.com/loomi-labs/arco/releases/latest/download/arco-linux-amd64.rpm -o /tmp/arco-linux-amd64.rpm
sudo dnf install /tmp/arco-linux-amd64.rpm

Arch Linux (.pkg.tar.zst)

curl -sL https://github.com/loomi-labs/arco/releases/latest/download/arco-linux-amd64.pkg.tar.zst -o /tmp/arco-linux-amd64.pkg.tar.zst
sudo pacman -U /tmp/arco-linux-amd64.pkg.tar.zst

Universal Installation (Any Distribution)

sh -c "$(curl -sSL 'https://arco-backup.com/linux/install.sh')"  

Uninstallation

Linux

Use your package manager to uninstall.

If installed via universal installation run:

sh -c "$(curl -sSL 'https://arco-backup.com/linux/install.sh')" -- --uninstall

MacOS

Download Arco.dmg, open it, and run "Uninstall Arco.app".

Features

  • Step-by-step process to create a backup profile
  • Automatic backups based on schedules
  • Backup with encryption, compression, and deduplication
  • Backup to local, remote or ArcoCloud repositories
  • Restore backups

Development

Prerequisites

Before building or developing Arco, you need to install the following:

  1. Go - Programming language
  2. Wails v3 - Framework for building desktop applications with Go and web technologies
    # You can install Wails v3 system-wide (or you just use go tool wails3)
    go install github.com/wailsapp/wails/v3/cmd/wails3@latest
    
  3. pnpm - Package manager for the frontend
  4. Task - Task runner used to build and develop Arco
    # macOS
    brew install go-task/tap/go-task
    
    # Linux
    sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
    

Building

To build a redistributable, run the following command in the project directory:

task build

This will build both the frontend and backend, and package the application for your platform.

Live Development

To run in live development mode, run:

task dev

This will run a Vite development server that provides fast hot reload of your frontend changes. The backend will also automatically rebuild when you make changes to the Go code.

For frontend-only development, you can run:

task dev:frontend

Additional Commands

For more development commands, see the CLAUDE.md file, which contains a comprehensive list of all available commands for building, testing, and developing Arco.