Skip to content

UnRaid Hosting Instructions

Jared Johnson edited this page Nov 23, 2021 · 1 revision

Basic Setup

Under Docker, click Add New Container. Click "Advanced View" in the top right corner and fill out the following fields:

  • Name: BreadBucket
  • Repository: cmeury/bread-bucket
  • Docker Hub URL: https://hub.docker.com/r/cmeury/bread-bucket
  • Icon URL: https://www.budgetwithbuckets.com/img/logo.png
  • Network Type: Bridge
  • Console shell command: Shell
  • Privileged: Off
  • Pass-through the Following:
    • Host Port (whatever you choose) -> Container Port 5000 (Ex: 5086 -> 5000)
    • /host/path/to/budgets-dir -> /app/budget (Ex: /mnt/user/budget/home/ -> /app/budgets)
    • ENV_VAR DB_FILE -> /container/path/to/budget-file.buckets (Ex: /app/budget/home.buckets)
    • ENV_VAR HTTP_BASIC_AUTH_USERNAME -> login username (Ex: buckets)
    • ENV_VAR HTTP_BASIC_AUTH_PASSWORD -> login password (Ex: password)

Click "Done"

Use Hosted Nextcloud to store and serve budget file

Create a share on your UnRaid server to store your buckets files (Ex: budget)

Login to your locally hosted Nextcloud with admin account and enable "External storage support" App.

Under Settings -> Administration -> External storages, configure an external storage pointing to your budget SMB share created above (since you will have to provide SMB credentials here, it's good practice to create an unRaid user with access only to this share). Assign priviledges to Nextcloud user accounts or groups you would like to give access to in the "Available for" section.

At this point, you should be able to log into a user account that has access and see the "Budgets" folder.

Slight issue with Nextcloud external storages is that it will sync immediately if a Nextcloud client updates a folder within, but if an external process modifies a file, it doesn't pick up the changes immediately. Since we will be modifying the budget file with the Bread Bucket docker container, we need to overcome this.

User Script to trigger Nextcloud to pick up external changes on a regular basis

On UnRaid, install the User Scripts community application

In User Scripts, create a new script "nextcloud rescan exteranl storage"

With the following script as content replacing admin-user-account with your nextcloud administrator account name:

#!/bin/bash
docker exec nextcloud occ files:scan admin-user-account

This should trigger nextcloud to rescan external storages on the interval set in the script schedule. In the image above, this is every minute between the hours of 8am-11pm everyday of the week.

Now just ensure you are passing the same directory to bread-bucket and you should be good to go!