mirror of
https://github.com/offen/docker-volume-backup.git
synced 2025-12-05 09:08:02 +01:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a01fc3df3f | ||
|
|
37f9bd9a8f | ||
|
|
fb4663b087 | ||
|
|
0fe983dfcc | ||
|
|
5c8bc107de |
3
.github/workflows/deploy-docs.yml
vendored
3
.github/workflows/deploy-docs.yml
vendored
@@ -3,6 +3,9 @@ name: Deploy Documenation site to GitHub Pages
|
||||
on:
|
||||
push:
|
||||
branches: ['main']
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- '.github/workflows/deploy-docs.yml'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
|
||||
39
.github/workflows/release.yml
vendored
39
.github/workflows/release.yml
vendored
@@ -15,6 +15,38 @@ jobs:
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: set Environment Variables
|
||||
id: env
|
||||
run: |
|
||||
echo "NOW=$(date +'%F %Z %T')" >> $GITHUB_ENV
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
# list of Docker images to use as base name for tags
|
||||
images: |
|
||||
offen/docker-volume-backup
|
||||
ghcr.io/offen/docker-volume-backup
|
||||
# define global behaviour for tags
|
||||
flavor: |
|
||||
latest=false
|
||||
# specify one tag which never gets set, to prevent the tag-attribute being empty, as it will fallback to a default
|
||||
tags: |
|
||||
# output v2.42.1-alpha.1 (incl. pre-releases)
|
||||
type=semver,pattern=v{{version}},enable=false
|
||||
labels: |
|
||||
org.opencontainers.image.title=${{github.event.repository.name}}
|
||||
org.opencontainers.image.description="Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox or SSH compatible storage"
|
||||
org.opencontainers.image.vendor=${{github.repository_owner}}
|
||||
org.opencontainers.image.licenses="MPL-2.0"
|
||||
org.opencontainers.image.version=${{github.ref_name}}
|
||||
org.opencontainers.image.created=${{ env.NOW }}
|
||||
org.opencontainers.image.source=${{github.server_url}}/${{github.repository}}
|
||||
org.opencontainers.image.revision=${{github.sha}}
|
||||
org.opencontainers.image.url="https://offen.github.io/docker-volume-backup/"
|
||||
org.opencontainers.image.documentation="https://offen.github.io/docker-volume-backup/"
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
@@ -35,7 +67,7 @@ jobs:
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract Docker tags
|
||||
id: meta
|
||||
id: tags
|
||||
run: |
|
||||
version_tag="${{github.ref_name}}"
|
||||
tags=($version_tag)
|
||||
@@ -51,9 +83,10 @@ jobs:
|
||||
echo "releases=$releases" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Build and push Docker images
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
tags: ${{ steps.meta.outputs.releases }}
|
||||
tags: ${{ steps.tags.outputs.releases }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
|
||||
@@ -69,7 +69,11 @@ func loadEnvFiles(directory string) ([]configFile, error) {
|
||||
continue
|
||||
}
|
||||
p := filepath.Join(directory, item.Name())
|
||||
envFile, err := godotenv.Read(p)
|
||||
f, err := os.ReadFile(p)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("loadEnvFiles: error reading %s: %w", item.Name(), err)
|
||||
}
|
||||
envFile, err := godotenv.Unmarshal(os.ExpandEnv(string(f)))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("loadEnvFiles: error reading config file %s: %w", p, err)
|
||||
}
|
||||
|
||||
@@ -89,7 +89,6 @@ func newScript(c *Config, envVars map[string]string) (*script, func() error, err
|
||||
} else {
|
||||
_ = os.Setenv(currentKey, currentVal)
|
||||
}
|
||||
s.logger.Info(fmt.Sprintf("unset %v: %v", currentKey, currentVal))
|
||||
}(key, currentVal, currentOk)
|
||||
|
||||
if err := os.Setenv(key, value); err != nil {
|
||||
@@ -99,7 +98,6 @@ func newScript(c *Config, envVars map[string]string) (*script, func() error, err
|
||||
err,
|
||||
)
|
||||
}
|
||||
s.logger.Info(fmt.Sprintf("set %v: %v", key, value))
|
||||
}
|
||||
s.registerHook(hookLevelPlumbing, func(error) error {
|
||||
s.stats.EndTime = time.Now()
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
NAME="conf"
|
||||
NAME="$EXPANSION_VALUE"
|
||||
BACKUP_CRON_EXPRESSION="*/1 * * * *"
|
||||
|
||||
@@ -7,6 +7,7 @@ services:
|
||||
environment:
|
||||
BACKUP_FILENAME: $$NAME.tar.gz
|
||||
BACKUP_FILENAME_EXPAND: 'true'
|
||||
EXPANSION_VALUE: conf
|
||||
volumes:
|
||||
- ${LOCAL_DIR:-./local}:/archive
|
||||
- app_data:/backup/app_data:ro
|
||||
|
||||
Reference in New Issue
Block a user