1
0
mirror of https://github.com/offen/docker-volume-backup.git synced 2025-11-23 21:44:40 +02:00
Commit Graph

55 Commits

Author SHA1 Message Date
Frederik Ring
7a705a46f0 Stop deploying docs on push to main branch
The current behavior is prone to introducing unwanted
drift between docs and latest image. Change deployment
to happen on release only, and leave a workflow_dispatch
for when smaller fixes need to go out without a release.
2025-11-12 11:28:32 +01:00
Jean Michel
60482b2045 Add label to optionally skip container restart after backup (#659)
* Add label to optionally skip container restart after backup

* Add new mutually exclusive label instead

* Simplified `hasLabel`

* removed unnecessary else block

* added new test-case `no-restart` based on test-case `local`

* removed invalid README entry

* added new section to how-tos

* Added configuration reference
2025-11-01 10:52:56 +01:00
Esteban Thilliez
f76d4fd814 Add optional jittering before any backup actions (#654)
* NEW: Add optional jittering before backing up

* Removed deprecated rand seeding

* Updated BACKUP_JITTER config option doc

* Moved jittering logic from script init to runScript

* Changed formatting of jittering log message
2025-10-17 08:37:14 +02:00
Frederik Ring
bebe3484c7 Update shoutrrr version to v0.10.3 (#655) 2025-10-17 08:37:02 +02:00
Esteban Thilliez
2d777ad76a Ensure destination exists when using SSH storage (#646)
* Ensure destination exists when using SSH storage

* Import "errors"

* New feature doc
2025-10-08 07:25:19 +02:00
Frederik Ring
614d325c5a Use forked and active shoutrrr package (#643)
* Use forked and active shoutrrr package

* Use versioned documentation links
2025-10-08 07:09:55 +02:00
dependabot[bot]
05fef47a2c Bump rexml from 3.3.9 to 3.4.2 in /docs (#639) 2025-09-17 19:17:12 +00:00
iGoX
e534923d9b Update set-up-notifications.md (#623) 2025-08-18 12:48:03 +02:00
Frederik Ring
5e26d8b4d1 Be honest about image size in docs 2025-08-04 21:16:40 +02:00
Frederik Ring
6acc4002fd Google Drive is not yet mentioned in documentation 2025-08-04 20:45:10 +02:00
Luiz Guilherme da Silva Junior
a5579b5abb feat: Add Google Drive storage backend with custom endpoint support (#613)
* feat: Add Google Drive storage backend with custom endpoint support

- Implement Google Drive storage backend using service account authentication
- Add support for custom Google Drive API endpoints for testing
- Include comprehensive test setup with mock services
- Add configuration options for Google Drive credentials and folder ID
- Update documentation with Google Drive configuration examples

* remove debug messages

* Improve tests

* Add mounting tip on documentation

* Replace deprecated lib usage

* Fix identation

* Fix googledrive tests

* Fix googledrive support for _FILE credentials

* Remove googledrive test unecessary echos
2025-08-04 20:38:57 +02:00
dependabot[bot]
0e68b98f49 Bump webrick from 1.8.1 to 1.8.2 in /docs (#602) 2025-06-28 05:24:30 +00:00
Frederik Ring
0ce19a4ff2 Fall back to default behavior when deployed to a worker node (#593)
* Add test demonstrating failure when running on worker node

* Consider manager status when checking for swarm related features

* Update documentation
2025-06-09 14:19:18 +02:00
Frederik Ring
47a9c13b54 Documentation should not mention deprecated version declaration 2025-06-07 16:01:50 +02:00
Frederik Ring
c735962bb9 Link to Dropbox from config reference is outdated (#562)
Closes #561
2025-03-26 12:06:42 +01:00
Dan
152413b8bd Update encrypt-backups.md (#550)
Updated docs to reflect changes made in #530
2025-03-03 07:16:23 +01:00
Frederik Ring
89655e09ad Config reference should always use default values (#549)
* Config reference should always use default values

* Cut down proliferation of conventions in config reference
2025-02-28 17:31:07 +01:00
Frederik Ring
d8ac5ae7e6 Ensure all examples in docs mount a readonly socket 2025-02-27 11:47:57 +01:00
Frederik Ring
cbbaa6ba7a Support passing standard ssh keys to age encryption (#530)
* Support passing standard ssh keys to age encryption

* Cover SSH keys in age test case
2025-02-07 13:43:41 +01:00
Frederik Ring
40b12b9d07 Configuration reference on age encryption is lacking 2025-02-04 16:34:10 +01:00
Frederik Ring
4799795f0a MariaDB image stopped providing mysqldump shim, use plain name 2025-01-06 20:07:35 +01:00
dependabot[bot]
d46918b13a Bump rexml from 3.3.6 to 3.3.9 in /docs (#487) 2024-10-28 20:41:16 +00:00
shalafi99
f4cf4173e6 Documentation update for DROPBOX_REMOTE_PATH environment variable (#473)
* Update set-up-dropbox.md

Updated text for explanation of DROPBOX_REMOTE_PATH environment variable usage accordingly to how the Dropbox App was scoped during creation.

* Update set-up-dropbox.md

Minor style edit

* Update index.md

Replaced /Apps/my-test-app/some_subdir with /somedir in example value for DROPBOX_REMOTE_PATH environment variable under "Backing up to Dropbox" section, to align with updates done to related "how-to" text
2024-09-18 20:43:54 +02:00
dependabot[bot]
dd5f7f5b66 Bump rexml from 3.3.3 to 3.3.6 in /docs (#463) 2024-08-23 05:23:04 +00:00
Frederik Ring
8b5c9a494f Exclude legacy docs page from navigation 2024-08-19 22:50:26 +02:00
nick comer
44ad3bbda2 feat: allow backups to be encrypted with age (#432)
GPG is known to have usability issues and is generally cumbersome to
use. age [0] is a modern alternative to GPG that is designed by a
cryptographer that has worked and continues to work on Golang's crypto
packages for years.

Allowing age to be used to encrypt backups dramatically simplifies the
backup process.

[0]: https://age-encryption.org/
2024-08-19 22:49:49 +02:00
Lennart
8a64da4b0b Feature: PGP Asymmetric Encryption (#456)
* feat: asym encryption

* tests

* docs

* refactor

* logs & errs

* comment

* Update docs/reference/index.md

use correct env var in example

Co-authored-by: Frederik Ring <frederik.ring@gmail.com>

* Update cmd/backup/encrypt_archive.go

use errwarp for initial error msg

Co-authored-by: Frederik Ring <frederik.ring@gmail.com>

* rm orphaned code in encryption functions

* inline readArmoredKeys

* naming -GPG_PUBLIC_KEYS- to GPG_PUBLIC_KEY_RING

* add eror handling for closing func

* use dynamically generated keys for testing

* rm explicit gpg-agent start

* rm unnecessary private_key export

* pass PASSPHRASE correctly to the decryption command

* capture defer errors

* log & err msg

---------

Co-authored-by: Frederik Ring <frederik.ring@gmail.com>
2024-08-11 10:11:23 +02:00
J. Zebedee
f97ce11734 Add "none" compression type (#457)
* Add "none" compression type

* Add "none" compression to docs

* Use passThroughWriteCloser for "none" compression

* Add test for none compression

---------

Co-authored-by: Frederik Ring <frederik.ring@gmail.com>
2024-08-11 10:11:09 +02:00
Frederik Ring
336e12f874 Add support for Azure storage access tiers (#452) 2024-08-09 15:37:27 +02:00
dependabot[bot]
e04bd2f066 Bump rexml from 3.2.8 to 3.3.3 in /docs (#451) 2024-08-02 06:35:44 +00:00
Frederik Ring
c4eeaad813 Bump shoutrrr to version 0.8 (#450) 2024-07-31 21:58:24 +02:00
Frederik Ring
8beb28d4f8 Documentation should mention label visibility restrictions 2024-05-26 10:28:46 +02:00
dependabot[bot]
b85afa6008 Bump rexml from 3.2.6 to 3.2.8 in /docs (#420) 2024-05-17 11:04:07 +00:00
Frederik Ring
1af472077c Update author reference in license statements (#393) 2024-03-15 11:42:22 +01:00
Frederik Ring
baf34ec1f7 Allow authentication using connection string when targeting Azure Blob Storage (#383)
* Allow authentication using connection string when targeting Azure Blob Storage

* Bail on ambiguous configuration
2024-03-08 20:23:30 +01:00
Frederik Ring
440bcf76ce Document EXEC_LABEL behavior in conjunction with conf.d 2024-03-04 20:31:11 +01:00
Frederik Ring
5abfe5bb39 Swarm mode check fails on non-standard Info responses (#376)
* Swarm mode check fails on non-standard Info responses

* Add unit test

* Remove balena tests, add note to docs
2024-02-27 21:12:36 +00:00
Frederik Ring
e8307a2b5b Allow backup to be run as non-root user 2024-02-22 17:42:53 +01:00
Frederik Ring
4b3ca2ebb0 Revert "Allow backup to be run as non-root user (#366)" (#370)
This reverts commit f64aaa6e24.
2024-02-21 18:43:13 +01:00
Frederik Ring
f64aaa6e24 Allow backup to be run as non-root user (#366)
* Allow backup to be run as non-root user

* Document usage as non-root user

* Also test /etc access

* Choose better name for doc
2024-02-21 17:44:24 +01:00
pixxon
1d45062100 Move cron scheduling inside application (#338)
* Move cron scheduling inside application

* Make envvar a fallback and check for errors

* Panic significantly less

* propagate error out of runBackup

* Add structured logging

* FIx error propagation to exit

* Enable the new scheduler by default

* Review fixes

* Added docs and better error propagation
2024-02-12 16:04:12 +01:00
Frederik Ring
0f224e4fb8 Document socket-proxy permissions, return early when update failed on scaling down (#343)
* Do not await containers when there was an error on scaling

* Add test case for usage with socket proxy

* Add documentation on required permissions for docker-socket-proxy

* Add full list of used Docker APIs to doc

* CONTAINER_START and CONTAINER_STOP is not needed
2024-02-05 14:27:06 +01:00
Frederik Ring
c3daeacecb Improve Swarm support (#333)
* Query for labeled services as well

* Try scaling down services

* Scale services back up

* Use progress tool from Docker CLI

* In test, label both services

* Clean up error and log messages

* Document scale-up/down approach in docs

* Downgrade Docker CLI to match client

* Document services stats

* Do not rely on PreviousSpec for storing desired replica count

* Log warnings from Docker when updating services

* Check whether container and service labels collide

* Document script behavior on label collision

* Add additional check if all containers have been removed

* Scale services concurrently

* Move docker interaction code into own file

* Factor out code for service updating

* Time out after five minutes of not reaching desired container count

* Inline handling of in-swarm container level restart

* Timer is more suitable for timeout race

* Timeout when scaling down services should be configurable

* Choose better filename

* Reflect changes in naming

* Rename and deprecate BACKUP_STOP_CONTAINER_LABEL

* Improve logging

* Further simplify logging
2024-01-31 12:17:41 +01:00
Pete Ward
b38bb749c0 Fix dropbox doc link (#323)
* Update index.md

* Rename set-up-drobox.md to set-up-dropbox.md
2024-01-07 22:24:21 +01:00
Alexander
64daf7b132 Add method for converting object to JSON in template (#319)
* Add method for converting object to JSON in template

* Split  to ,

* Rename toJson function
2023-12-20 20:44:45 +01:00
Frederik Ring
2252c26edf Add note about potential leading and trailing whitespace in Docker secrets 2023-10-29 07:53:55 +01:00
Nigel Metheringham
d0d8e5b076 docs: Update the custom commands documentation (#288)
Include requirement for docker socket and the need to use EXEC_LABEL
if you are running multiple copies
2023-10-21 08:05:41 +02:00
Daniel Al Mouiee
19fb822a4c Updated Docs subheading mispelling (#278) 2023-09-29 07:24:07 +02:00
Frederik Ring
0bb94a2f56 Docs site (#269)
* Set up documentation site using jekyll

* Add workflow for deploying docs

* Ini formatting is hard to read

* Add instructions on how to run docs locally

* Work through docs

* Remove content from README

* Miscellaneous fixes

* Fix artifact upload
2023-09-16 11:54:39 +02:00
Frederik Ring
24a6ec9480 Dropbox was missing from notification docs 2023-08-28 20:42:45 +02:00