Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 2.61 KB

README.md

File metadata and controls

56 lines (37 loc) · 2.61 KB

GitHub Action for Backblaze B2 🔥

This simple action syncs a directory (either from your repository or generated during your workflow) with a remote bucket on Backblaze B2.

Many find B2 appealing because of its free bandwidth deal with Cloudflare via the Bandwidth Alliance, but unlike other popular cloud "bucket" providers like DigitalOcean Spaces and DreamObjects, it is not compatible with S3's API, so using this official Python-based tool is required.

Usage

workflow.yml Example

Place in a .yml file such as this one in your .github/workflows folder. Refer to the documentation on workflow YAML syntax here.

name: Sync B2 Bucket
on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
          uses: actions/checkout@v3
      - name: B2 Cloud sync
        uses: getpersio/backblaze-b2-action@main
        env:
          SOURCE_DIR: './public'
          B2_BUCKET: ${{ secrets.B2_BUCKET }}
          B2_APPKEY_ID: ${{ secrets.B2_APPKEY_ID }}
          B2_APPKEY: ${{ secrets.B2_APPKEY }}
          B2_SYNC_THREADS: 1

Required Environment Variables

Key Value Type Required
SOURCE_DIR The local directory you wish to sync/upload to B2. For example, ./public. env Yes

Required Secret Variables

The following variables should be added as "secrets" in the action's configuration.

Key Value Type Required
B2_BUCKET The name of the bucket you're syncing to. For example, my_files. secret Yes
B2_APPKEY_ID Your Backblaze Application Key ID. Generate it here. secret Yes
B2_APPKEY Your Backblaze Application Key — aka the "secret" key. Generate it here. secret Yes

License

This project is distributed under the MIT license.