Initial commit

Signed-off-by: Marcus Noble <github@marcusnoble.co.uk>
This commit is contained in:
2026-09-13 14:19:23 +01:00
parent e2842caa7c
commit 7c670c3d82
11 changed files with 828 additions and 31 deletions
+27 -3
View File
@@ -1,15 +1,37 @@
# backup-to-nextcloud
A simple application that will backup files to Nextcloud
A simple application that will backup files to Nextcloud.
Designed to be run as a CronJob with a focus on directories containing backup archives (e.g. daily zip files).
## Features
## Install
* Define jobs via yaml config
* Optionally clean up files on Nextcloud older than a given age
* Optionally only store the latest X number of files
```sh
## Example Config
```yaml
nextcloudURL: https://nextcloud.example.com
jobs:
- sourceDirectory: backups/example-daily
destinationDirectory: backups/example
# Optional
maxAge: 168h # 7 days
# Optional
maxItems: 7
```
By default, this loads from `./config.yaml` but the file path can be specified by setting the `NEXTCLOUD_CONFIG_PATH` environment variable.
## Credentials
Generate an app password for your user in Nextcloud then populate the following environment variables:
* `NEXTCLOUD_USER`
* `NEXTCLOUD_PASSWORD`
## Building from source
With Docker:
@@ -26,6 +48,8 @@ make build
## Resources
* [Nextcloud WebDav docs](https://docs.nextcloud.com/server/stable/developer_manual/client_apis/WebDAV/basic.html)
## Contributing
If you find a bug or have an idea for a new feature please [raise an issue](issues/new) to discuss it.