ActualBudget Fails to start after install #2103

Closed
opened 2026-02-05 03:46:18 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @BrianBonnell on GitHub (Dec 1, 2025).

Originally assigned to: @tremor021 on GitHub.

Have you read and understood the above guidelines?

yes

🔎 Did you run the script with verbose mode enabled?

Yes, verbose mode was enabled and the output is included below

📜 What is the name of the script you are using?

Actual Budget v25.11.0 LXC

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/actualbudget.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

📈 Which Proxmox version are you on?

pve-manager/9.1.1/42db4a6cf33dac83 (running kernel: 6.17.2-2-pve)

📝 Provide a clear and concise description of the issue.

After install when trying to go to https://:5006 get connection refused.
Looking at systemctl list-unitsm you see the actualbudget.service attempting to start, fail and then restart again over and over.
Looking at actualbudget.service you see errors about not being able to find path:
/etc/ssl/actualbudget/actualbudget.key
Looking for this path you find that is actually:
/etc/ssl/Actual Budget/Actual Budget.key

Linux is case sensitive, this path is wrong in the script/installation.

🔄 Steps to reproduce the issue.

Scipt runs correctly, but paths configured are WRONG.

Paste the full error output (if available).

root@actualbudget:~# journalctl -u actualbudget.service
Dec 01 12:11:46 actualbudget actual-server[2968]: Running in production mode - Serving static React app
Dec 01 12:11:46 actualbudget actual-server[2968]: Rejection: Error: ENOENT: no such file or directory, open '/etc/ssl/actualbudget/actualbudget.key'
Dec 01 12:11:46 actualbudget actual-server[2968]: at Object.openSync (node:fs:561:18)
Dec 01 12:11:46 actualbudget actual-server[2968]: at Object.readFileSync (node:fs:445:35)
Dec 01 12:11:46 actualbudget actual-server[2968]: at parseHTTPSConfig (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:124:15)
Dec 01 12:11:46 actualbudget actual-server[2968]: at Module.run (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:158:18)
Dec 01 12:11:46 actualbudget actual-server[2968]: at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
Dec 01 12:11:46 actualbudget actual-server[2968]: errno: -2,
Dec 01 12:11:46 actualbudget actual-server[2968]: code: 'ENOENT',
Dec 01 12:11:46 actualbudget actual-server[2968]: syscall: 'open',
Dec 01 12:11:46 actualbudget actual-server[2968]: path: '/etc/ssl/actualbudget/actualbudget.key'
Dec 01 12:11:46 actualbudget actual-server[2968]: }
Dec 01 12:11:46 actualbudget systemd[1]: actualbudget.service: Deactivated successfully.
Dec 01 12:11:46 actualbudget systemd[1]: actualbudget.service: Consumed 3.046s CPU time, 78.1M memory peak.
Dec 01 12:11:56 actualbudget systemd[1]: actualbudget.service: Scheduled restart job, restart counter is at 1.
Dec 01 12:11:56 actualbudget systemd[1]: Started actualbudget.service - Actual Budget Service.
Dec 01 12:11:56 actualbudget actual-server[3054]: Loading config from /opt/actualbudget-data/config.json
Dec 01 12:11:56 actualbudget actual-server[3054]: Using default data directory. You can specify a custom config with --config
Dec 01 12:11:56 actualbudget actual-server[3054]: Data directory: /opt/actualbudget
Dec 01 12:11:56 actualbudget actual-server[3054]: Checking if there are any migrations to run for direction "up"...
Dec 01 12:11:56 actualbudget actual-server[3054]: Migrations: DONE
Dec 01 12:11:59 actualbudget actual-server[3054]: Running in production mode - Serving static React app
Dec 01 12:11:59 actualbudget actual-server[3054]: Rejection: Error: ENOENT: no such file or directory, open '/etc/ssl/actualbudget/actualbudget.key'
Dec 01 12:11:59 actualbudget actual-server[3054]: at Object.openSync (node:fs:561:18)
Dec 01 12:11:59 actualbudget actual-server[3054]: at Object.readFileSync (node:fs:445:35)
Dec 01 12:11:59 actualbudget actual-server[3054]: at parseHTTPSConfig (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:124:15)
Dec 01 12:11:59 actualbudget actual-server[3054]: at Module.run (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:158:18) {
Dec 01 12:11:59 actualbudget actual-server[3054]: errno: -2,
Dec 01 12:11:59 actualbudget actual-server[3054]: code: 'ENOENT',
Dec 01 12:11:59 actualbudget actual-server[3054]: syscall: 'open',
Dec 01 12:11:59 actualbudget actual-server[3054]: path: '/etc/ssl/actualbudget/actualbudget.key'
Dec 01 12:11:59 actualbudget actual-server[3054]: }
Dec 01 12:11:59 actualbudget systemd[1]: actualbudget.service: Deactivated successfully.
Dec 01 12:11:59 actualbudget systemd[1]: actualbudget.service: Consumed 3.136s CPU time, 79.9M memory peak.
Dec 01 12:12:09 actualbudget systemd[1]: actualbudget.service: Scheduled restart job, restart counter is at 2.

🖼️ Additional context (optional).

Looking at actualbudget.service you see errors about not being able to find path:
/etc/ssl/actualbudget/actualbudget.key
Looking for this path you find that is actually:
/etc/ssl/Actual Budget/Actual Budget.key

Linux is case sensitive, this path is wrong in the script/installation.

Image

I am not able to find where in the script these paths are created, NOR am I able to find the config file post install where this can be edited after install.

Originally created by @BrianBonnell on GitHub (Dec 1, 2025). Originally assigned to: @tremor021 on GitHub. ### ✅ Have you read and understood the above guidelines? yes ### 🔎 Did you run the script with verbose mode enabled? Yes, verbose mode was enabled and the output is included below ### 📜 What is the name of the script you are using? Actual Budget v25.11.0 LXC ### 📂 What was the exact command used to execute the script? bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/actualbudget.sh)" ### ⚙️ What settings are you using? - [ ] Default Settings - [x] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 📈 Which Proxmox version are you on? pve-manager/9.1.1/42db4a6cf33dac83 (running kernel: 6.17.2-2-pve) ### 📝 Provide a clear and concise description of the issue. After install when trying to go to https://<IP ADDRESS>:5006 get connection refused. Looking at systemctl list-unitsm you see the actualbudget.service attempting to start, fail and then restart again over and over. Looking at actualbudget.service you see errors about not being able to find path: /etc/ssl/actualbudget/actualbudget.key Looking for this path you find that is actually: /etc/ssl/Actual Budget/Actual Budget.key Linux is case sensitive, this path is wrong in the script/installation. ### 🔄 Steps to reproduce the issue. Scipt runs correctly, but paths configured are WRONG. ### ❌ Paste the full error output (if available). root@actualbudget:~# journalctl -u actualbudget.service Dec 01 12:11:46 actualbudget actual-server[2968]: Running in production mode - Serving static React app Dec 01 12:11:46 actualbudget actual-server[2968]: Rejection: Error: ENOENT: no such file or directory, open '/etc/ssl/actualbudget/actualbudget.key' Dec 01 12:11:46 actualbudget actual-server[2968]: at Object.openSync (node:fs:561:18) Dec 01 12:11:46 actualbudget actual-server[2968]: at Object.readFileSync (node:fs:445:35) Dec 01 12:11:46 actualbudget actual-server[2968]: at parseHTTPSConfig (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:124:15) Dec 01 12:11:46 actualbudget actual-server[2968]: at Module.run (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:158:18) Dec 01 12:11:46 actualbudget actual-server[2968]: at process.processTicksAndRejections (node:internal/process/task_queues:105:5) { Dec 01 12:11:46 actualbudget actual-server[2968]: errno: -2, Dec 01 12:11:46 actualbudget actual-server[2968]: code: 'ENOENT', Dec 01 12:11:46 actualbudget actual-server[2968]: syscall: 'open', Dec 01 12:11:46 actualbudget actual-server[2968]: path: '/etc/ssl/actualbudget/actualbudget.key' Dec 01 12:11:46 actualbudget actual-server[2968]: } Dec 01 12:11:46 actualbudget systemd[1]: actualbudget.service: Deactivated successfully. Dec 01 12:11:46 actualbudget systemd[1]: actualbudget.service: Consumed 3.046s CPU time, 78.1M memory peak. Dec 01 12:11:56 actualbudget systemd[1]: actualbudget.service: Scheduled restart job, restart counter is at 1. Dec 01 12:11:56 actualbudget systemd[1]: Started actualbudget.service - Actual Budget Service. Dec 01 12:11:56 actualbudget actual-server[3054]: Loading config from /opt/actualbudget-data/config.json Dec 01 12:11:56 actualbudget actual-server[3054]: Using default data directory. You can specify a custom config with --config Dec 01 12:11:56 actualbudget actual-server[3054]: Data directory: /opt/actualbudget Dec 01 12:11:56 actualbudget actual-server[3054]: Checking if there are any migrations to run for direction "up"... Dec 01 12:11:56 actualbudget actual-server[3054]: Migrations: DONE Dec 01 12:11:59 actualbudget actual-server[3054]: Running in production mode - Serving static React app Dec 01 12:11:59 actualbudget actual-server[3054]: Rejection: Error: ENOENT: no such file or directory, open '/etc/ssl/actualbudget/actualbudget.key' Dec 01 12:11:59 actualbudget actual-server[3054]: at Object.openSync (node:fs:561:18) Dec 01 12:11:59 actualbudget actual-server[3054]: at Object.readFileSync (node:fs:445:35) Dec 01 12:11:59 actualbudget actual-server[3054]: at parseHTTPSConfig (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:124:15) Dec 01 12:11:59 actualbudget actual-server[3054]: at Module.run (file:///usr/lib/node_modules/@actual-app/sync-server/build/src/app.js:158:18) { Dec 01 12:11:59 actualbudget actual-server[3054]: errno: -2, Dec 01 12:11:59 actualbudget actual-server[3054]: code: 'ENOENT', Dec 01 12:11:59 actualbudget actual-server[3054]: syscall: 'open', Dec 01 12:11:59 actualbudget actual-server[3054]: path: '/etc/ssl/actualbudget/actualbudget.key' Dec 01 12:11:59 actualbudget actual-server[3054]: } Dec 01 12:11:59 actualbudget systemd[1]: actualbudget.service: Deactivated successfully. Dec 01 12:11:59 actualbudget systemd[1]: actualbudget.service: Consumed 3.136s CPU time, 79.9M memory peak. Dec 01 12:12:09 actualbudget systemd[1]: actualbudget.service: Scheduled restart job, restart counter is at 2. ### 🖼️ Additional context (optional). Looking at actualbudget.service you see errors about not being able to find path: /etc/ssl/actualbudget/actualbudget.key Looking for this path you find that is actually: /etc/ssl/Actual Budget/Actual Budget.key Linux is case sensitive, this path is wrong in the script/installation. <img width="841" height="473" alt="Image" src="https://github.com/user-attachments/assets/7e4521f1-0f24-45b7-a787-fc88cd5bedc0" /> I am not able to find where in the script these paths are created, NOR am I able to find the config file post install where this can be edited after install.
OVERLORD added the bug label 2026-02-05 03:46:18 +03:00
Author
Owner

@BrianBonnell commented on GitHub (Dec 1, 2025):

Update: I did figure this out I had to edit the file /opt/actualbudget-data/config.json to reflect the correct path of
"key": "/etc/ssl/Actual Budget/Actual Budget.key",
"cert": "/etc/ssl/Actual Budget/Actual Budget.crt"

This might need to be corrected in the script

@BrianBonnell commented on GitHub (Dec 1, 2025): Update: I did figure this out I had to edit the file /opt/actualbudget-data/config.json to reflect the correct path of "key": "/etc/ssl/Actual Budget/Actual Budget.key", "cert": "/etc/ssl/Actual Budget/Actual Budget.crt" This might need to be corrected in the script
Author
Owner

@MickLesk commented on GitHub (Dec 1, 2025):

@tremor021

@MickLesk commented on GitHub (Dec 1, 2025): @tremor021
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#2103