mirror of
https://github.com/actualbudget/actual.git
synced 2026-03-10 20:23:07 -05:00
[Bug]: Error while updating docker Image 2023.12.0 #779
Closed
opened 2026-02-28 19:19:17 -06:00 by GiteaMirror
·
29 comments
No Branch/Tag Specified
master
matiss/oxlint-no-floating-promises-require-array-sort-compare
ai/custom-theme-dual-prefs
claude/fix-simplefin-batch-sync-O8LcD
matiss/fix-6804
claude/fix-simplefin-ssrf-T31gX
claude/release-notes-validation-X7rvR
add-claude-github-actions-1772738270730
react-query-rules
react-query-useSchedules
matiss/separate-lint-format
dependabot/npm_and_yarn/ajv-6.14.0
cursor/sync-performance-notification-9899
react-query-prefs
matiss/chunked-sync-and-progress-ux
v26.2.1
copilot/sub-pr-6880
fix-react-query-clear-on-close-budget
copilot/sub-pr-6140
feat/auto-note
feat/scoped-bank-sync
cursor/desktop-transactions-react-table-1d0c
fix-exhaustive-deps-App
copilot/fix-find-replace-bug
release/v26.2.0-pre
matiss/browser-tests
mobile-fix-drag-and-drop-across-groups
budget-table-v2
PayeeAutocomplete2
pglite
bugfix/plugins/fix-plugins-sw
feat/plugins/plugins-core-package
prerelease
matiss/unicode-minus-fix
cursor/fix-actual-github-issue-6206-gemini-3-pro-preview-9c37
TransactionFormPage
cursor/implement-mortgage-and-loan-account-type-78ca
tests-update-fill-with-pressSequentially
mobile/link-modal
deps/25.11
cursor/fix-update-vrt-apply-ci-job-dispatch-b324
sync-server-plugins
cursor/propose-patch-for-github-issue-5680-2a18
fix/compiler-preserve-inner-dollar-escapes
cursor/analyze-actual-budget-issue-and-propose-fix-5b70
coderabbitai/docstrings/0c070e5
cursor/add-wip-prefix-and-comment-to-prs-d78d
jfdoming/08-21-auto-focus-on-navigate-in-all-browsers
show-totals-on-mobile-budget-banners
allow-child-transactions-make-transfer
mobile-calculator-keyboard
payee-geolocation
enhance/restore_scroll_position
dm-fix-second-click-on-mobile-new-transaction-2
scrollToLocationBudget
alert-autofix-38
tsconfig-composite
mobile-fix-uncategorized-transactions-on-tracking-budgets
server-budget-handlers
fix-sql-injection-in-cleanup-template
non-chrome-draggable-workaround
mobile-budget-page-swipe-navigation
ts-db-all
stable
dark-theme-with-brand-colors
fix-mobile-delete-group
ts-db-select
UnderKoen/reconcile-context-menu
master-before-server-merge
v25.2.1
ts-runQuery
rename-redux-hooks
UnderKoen/3557-persist-state-in-history
remove-redux-CLOSE_BUDGET
fix-exhaustive-deps-errors-FinancesApp
redux-toolkit-createSlice-backup
accounts-function-component
ts-useSplitsExpanded
loot-core-server-package
useTransactios-in-TransactionEdit
react-aria-input
move-redux-to-desktop-client
QueryState-type
fix-themes-applied-late
mobile-vrts
revert-3295-spendingCardFix
react-aria-button-4
split-payee-on-mobile
twk3/pin-apis-crdt
notes-tag-autocomplete
ts-LoadBackup
dnd-kit
package-upgrades
v26.3.0
v26.2.1
v26.2.0
v26.1.0
v25.12.0
v25.11.0
v25.10.0
v25.9.0
v25.8.0
v25.7.1
v25.7.0
v25.6.1
v25.6.0
v25.5.0
v25.4.0
v25.3.1
v25.3.0
v25.2.1
v25.2.0
v25.1.0
v24.12.0
v24.11.0
v24.10.1
v24.10.0
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.0
v24.3.0
v24.2.0
v24.1.0
v23.12.0
v23.11.0
v23.10.0
v23.9.0
v23.8.1
v23.8.0
v23.7.2
v23.7.1
v23.7.0
v23.6.0
v23.5.0
v23.4.2
v23.4.1
v23.4.0
v23.3.2
v23.3.0
v23.2.9
v23.2.5
v23.1.12
v22.12.9
Labels
Clear labels
AI generated
API
bank sync
budgeting
bug
can’t replicate
dependencies
docker
documentation
electron
experimental feature
feature
feedback
goal templates
good first issue
help wanted
importers
maintenance
needs info
needs testing
needs triage
needs votes
openid
payees
pull-request
regression
reports
responsive
rules
schedules
server
✨ merged
split transactions
tech debt
theme
transaction import
transaction reconciliation
transactions
translations
upstream
user interface
✅ approved
wontfix
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/actual#779
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nmathey on GitHub (Dec 2, 2023).
Verified issue does not already exist?
What happened?
While updating docker image with latest tag 2023.12.0, the container is not able to start properly and crash.
What error did you receive?
Where are you hosting Actual?
Docker
What browsers are you seeing the problem on?
No response
Operating System
Other
@reesehopkins commented on GitHub (Dec 3, 2023):
Running into the same issue. I am running on Synology NAS using these instructions
@youngcw commented on GitHub (Dec 3, 2023):
Have you tried using Actual's docker account instead of using the old jlongster one? The new one is actualbudget/actual-server
@carpenike commented on GitHub (Dec 3, 2023):
Having the same issue with
@Ethics0928 commented on GitHub (Dec 3, 2023):
I'm having the same issue as well. I am using Actual's docker account instead of the old jlongster one as I am trying to update to 23.12.0
@mattang687 commented on GitHub (Dec 3, 2023):
Running into the same issue using
docker.io/actualbudget/actual-server:latest@pogora commented on GitHub (Dec 3, 2023):
Same here.
Even created a new clone with empty folders. Still the same.
Going back to:
ghcr.io/actualbudget/actual-server:23.11.0Gets everything back and working with the previous version.
@fopoku2k2 commented on GitHub (Dec 3, 2023):
I also have the same issue. I am using docker on synology nas with the actualbudget/actual-server docker account
@MatissJanis commented on GitHub (Dec 3, 2023):
👋
I followed the install instructions here and I think for v23.12.0 you will want to change a few things in those instructions to be more stable.
On step 11: do not create any folders.
On step 13: remove the
volumesargument. Instead use this:This should mount the entire folder. At which point it should be able to run the migrations that will automatically create the
server-filesanduser-filesfolders inside there (if they are not already there).If someone could try doing this and letting me know if that works - I'd very much appreciate it.
@MatissJanis commented on GitHub (Dec 3, 2023):
☝️ a bit more context for the technically savy.
Before v23.12.0 we used to have code that manually creates
server-filesanduser-filesfolders (if they do not exist). And then it created databases for the server to use. Over time we added more features so the initial database schema was not sufficient. And because we didn't have a proper database migration system in place - the migrations were hacked.Since v23.12.0 we moved to proper DB migrations. They are run when you launch the server. And they use a local
.migratefile to store the state of the migrations (i.e. which ones have been ran) so that we don't need to re-run them on every boot.As it turns out: some set-ups don't allow writing this
.migratefile in the root actual directory. I think the esiest solution for Synology NAS users is this comment. But if there are other ideas - lets chat. And obviously PRs are welcome :)@youngcw commented on GitHub (Dec 3, 2023):
I run Actual on my synology box and this is the docker-compose I use. I haven't had any issues that weren't my own doing with it. Edit the image and volumes to match your desired setup
@youngcw commented on GitHub (Dec 3, 2023):
Hi everyone. That guide from Marius Hosting has been updated. My recommended process, if you are still having issues, would be to:
That should get passed the issue of missing the .migration file and not having proper permissions.
@fopoku2k2 commented on GitHub (Dec 3, 2023):
works. thanks for the quick fix
On Sun, Dec 3, 2023 at 10:06 PM youngcw @.***> wrote:
@nmathey commented on GitHub (Dec 3, 2023):
Working like a charm!
I guess this issue can be close as is since the problem was more related to an installation type rather than Actua itself?
@samcre commented on GitHub (Dec 4, 2023):
If I understand the workflow of the app correctly, mounting the path
/dataof the container on your host will not fail on the start-up. But yourserver-filesanduser-fileswill be ONLY on the container, so you will lose them at any point. Please correct me if I'm wrong. Longtime user of docker and containers, but not so sure about Actual's behavior.I tried this config on my Synology NAS, and it doesn't work. When you mount your host's
/volume1/docker/actualonto your containers'/app, inside the container, the content of the/appdirectory is empty because it contains the host directory, which is empty on a new installation.What it worked for me is to manually create the
.migratefile on your host, and mount it directly to the container, like this:With this config, the container start-up without problems because the
.migratefile already exist.In the long term, it would be a good idea to store this
.migratefile insideserver-filesdirectly, or use a table inside an already created SQLite database, and store the migration's data on that table.@jaredhenderson commented on GitHub (Dec 4, 2023):
I'm still having this issue and I've tried the solutions in this thread. Mounting my docker dir as
/dataor/appdoesn't seem to make a difference, and the container won't stay alive long enough for me to get to the console inside it.If I need to make the
.migratefile manually, where would it go? Currently my docker dir just containsserver-filesanduser-files, I tried a.migratefile alongside those two and didn't seem to work.@samcre commented on GitHub (Dec 4, 2023):
The
.migratefile should be alongside the directoriesserver-filesanduser-files, just like this:You can create the file simply using
touch .migrate(be sure to use the same user that will run the docker container), and mount it inside the container with thisdocker-composeconfig:If you face any error, send us the log, so we can help you. 😊
@samip5 commented on GitHub (Dec 4, 2023):
It might be a good time as any to move to an SQL query builder maybe?
Eg. https://knexjs.org which would allow to support Postgres and sqlite aswell as database-agostic migrations. :)
@ajfromuk commented on GitHub (Dec 4, 2023):
I am honestly going to sound like a noob and I have been searching online but how to I revert the container to 23.11.0. I'm trying to recreate it and point the image to actualbudget/actual-server:23.11.0 but each time I click create it just doesnt pull it down and loads the current one I have installed.
@samip5 commented on GitHub (Dec 4, 2023):
Hey @MatissJanis, it think the migration file shouldn't live in the app root as if anybody is running this non-privileged, they don't have any way to write to things there.
@bjw-s commented on GitHub (Dec 4, 2023):
I've created https://github.com/actualbudget/actual-server/pull/289 that will have the server store the migrations file in the dataDir instead of the application root
@MatissJanis commented on GitHub (Dec 4, 2023):
Could someone please verify if the patch @bjw-s has graciously provided fixes the issue for you? https://github.com/actualbudget/actual-server/pull/289
On my machine it works as expected (but TBH it worked fine before too).
@samip5 commented on GitHub (Dec 5, 2023):
Could you please push the container with it? It seems PR's are built but not pushed.
@bjw-s commented on GitHub (Dec 5, 2023):
https://github.com/users/bjw-s/packages/container/actual-server/154582722?tag=pr-289 (based on the
edge-ubuntuDockerfile)@samip5 commented on GitHub (Dec 5, 2023):
I have tested the container and it does indeed now go to the /data path, which is writable and works as one would expect it to.
@pogora commented on GitHub (Dec 5, 2023):
That worked for me as well.
@pogora commented on GitHub (Dec 5, 2023):
That would depend on the software you use to manage your Docker. Personally I'd recommend Dockge or Portainer.
Then you need to create 2 containers 1. actualbudget-old and 2. actualbudget with the latest version.
Personally I prefer Dockge it's got a very simple UI and you can also add convert "docker run". It looked like this for me:

Then as mentioned by the guide before just export the data and import it to the latest version. After that you can delete the actualbudget-old container.
@joryirving commented on GitHub (Dec 5, 2023):
Can confirm it's working as expected.
@jaredhenderson commented on GitHub (Dec 6, 2023):
I have also tested @bjw-s fix and it is working for me with no additional changes required, simply mounting
/dataas with 23.11.0.I tried other solutions in this thread but this is the only one that is working for me - I'm on a Synology as well in case that matters. Thank you for your advice though @samcre
@MatissJanis commented on GitHub (Dec 7, 2023):
v23.12.1 has been released with the patch from @bjw-s .
Now that we have multiple solutions to the problem reported here. Thanks for everyone involved!