bckupr

command module
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2024 License: MIT Imports: 3 Imported by: 0

README

Bckupr

GitHub Build Action GitHub Dependabot Action GitHub Nightly Action GitHub Latest Action Pulls from DockerHub

Bckupr is program to automate backup creation and data restoration.

This tool reads docker labels to determine which volumes/mounts require backing up, whilst managing containers write access and their dependant containers, creates local backups and offers options for offsite storage.

Features:

  • Simple label configuration
  • Schedule backups using cron expressions
  • Builtin CLI tool for managing backups
  • Web interface for managing backups
  • Notifications - via shoutrr
  • Metrics via Prometheus
  • Automatic backup retention - Coming Soon

See the User Docs for detailed instructions on running Bckupr.

Getting Started

The project is built using GoLang and is published as a Docker image. Python is also used for building user documentation with mkdocs though docker is used as a wrapper for testing and building.

Prerequisites

This project requires the following tools:

Installation

Initiliase the project:

# Clone a local copy of the repository
git clone git@github.com:sbnarra/bckupr.git
# Change directory into the new clone
cd bckupr
# Initialise the dependancies
go mod init
# Run the project to see the CLI help menu
go run . -h

Running the tests

The project includes unit tests written in Go and end-to-ends tests in Bash. (should rewrite in Go within the test dir)

Run Go unit tests:

go test -v ./...

Run End2End tests:

./scripts/app-test-end2end.sh

Building the Project

The project is built automatically on each commit using GitHub actions. To publish a new image and documentation run the same pipeline manually run.

Building image locally:

./scripts/app-build-image.sh

Building documentation locally:

./scripts/docs-build-site.sh

Viewing documentation locally on port 8000:

./scripts/docs-serve-local.sh

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL