Glacier is a backup service for preserving data from the software I use every day.
- Rust 100%
| .config | ||
| .forgejo/workflows | ||
| glacier | ||
| glacier-core | ||
| glacier-crypto | ||
| .env.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| cliff.toml | ||
| compose.yaml | ||
| LICENSE | ||
| README.md | ||
Glacier
Glacier is a backup service for preserving data from the software I use every day.
Features
- Backup one or many services.
- Upload backups in one or many storage targets
- File encryption/decryption
Quick Start
-
Install the binary.
-
Set up the configuration.
cp .config/glacier.toml.example .config/glacier.toml -
Backup of all services once.
glacier backup --all-services
Service Requirements
| Service | Comment |
|---|---|
| Bitwarden | The Bitwarden CLI (bw) must be installed and available in PATH. |
| Ente | The Ente CLI (ente) must be installed and available in PATH. An account of type auth must also be created before use. |
| Nextcloud | None. |
| Outline | None. |
Configuration
Glacier supports configuration through :
Each configuration overrides the previous one in order.
- Global config file:
~/.config/glacier.toml - Local config file:
.config/glacier.toml - Environment variables (including
.envfiles)
Installation
Prerequisites
- Rust
1.96+
Development
-
Create an
.envfile based on.env.example.cp .env.example .env -
(Optional) Run the
compose.yamlfor a local S3.The UI is located at https://localhost:9191.
sudo docker compose up --build -
Run the tool.
cargo run -- --help
Production
-
Build the release version.
cargo build --release -
Run the executable.
./target/release/glacier
License
Distributed under the MIT license. See LICENSE for more information.