Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breaking: Actual Budget Script (HTTPS / DB Migration / New Structure) - Read Description #2496

Merged
merged 6 commits into from
Feb 20, 2025

Conversation

MickLesk
Copy link
Member

@MickLesk MickLesk commented Feb 19, 2025

ActualBudget Update & Migration Guide

📌 Important: Backup Your Data First

Before updating, export your Actual Budget data to avoid data loss. Follow these steps:

  1. Login to your budget and go to More > Settings.
  2. Scroll down to Export and click Export Data.
  3. Save the file to your computer.

For detailed instructions, see the Backup & Restore Guide.


🚀 Key Changes in the New Version

1️⃣ Database Changes

  • New database structure, including a password column in auth.
  • Migrations are now stored in /opt/actualbudget-data/migrate/.

2️⃣ File Structure Overhaul

  • Data moved to /opt/actualbudget-data/.
  • Key directories:
    • /opt/actualbudget-data/server-files/
    • /opt/actualbudget-data/user-files/
    • /opt/actualbudget-data/migrations/
    • /opt/actualbudget-data/migrate/
    • /opt/actualbudget-data/config/
  • .env is now stored in /opt/actualbudget-data/.

3️⃣ New HTTPS Support

  • Supports self-signed certificates.
  • Certificates must be renewed manually.

4️⃣ If Issues Persist, Reinstall in a New LXC

  • open your Proxmox Main Node and enter:
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/actualbudget.sh)"

🔐 Enabling HTTPS

Generate a Self-Signed Certificate

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /opt/actualbudget/selfhost.key -out /opt/actualbudget/selfhost.crt

Configure HTTPS

Update .env:

ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key
ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt

Restart service:

systemctl restart actualbudget

Renew Certificate Manually

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /opt/actualbudget/selfhost.key -out /opt/actualbudget/selfhost.crt
systemctl restart actualbudget

🎯 Summary

Backup before updating (see Backup Guide)
HTTPS supported but needs manual renewal
If update fails, migrate manually or reinstall LXC

🔗 Related PR / Discussion / Issue

Link: #74 #1623 #807 #1707 #1354 #2490

✅ Prerequisites

Before this PR can be reviewed, the following must be completed:

  • Self-review performed – Code follows established patterns and conventions.
  • Testing performed – Changes have been thoroughly tested and verified.

🛠️ Type of Change

Select all that apply:

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.

@github-actions github-actions bot added the update script A change that updates a script label Feb 19, 2025
@MickLesk MickLesk changed the title Redesign: Actual Budget Script Breaking: Actual Budget Script (HTTPS / DB Migration / New Structure) - Read Description Feb 20, 2025
@MickLesk MickLesk added the breaking change A change that is not backward compatible label Feb 20, 2025
@MickLesk MickLesk marked this pull request as ready for review February 20, 2025 08:26
@MickLesk MickLesk requested a review from a team as a code owner February 20, 2025 08:26
Copy link
Contributor

@CrazyWolf13 CrazyWolf13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

otherwise lgtm.

Copy link
Contributor

@CrazyWolf13 CrazyWolf13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 124 Shouldn't there be https?

I cannot really select it as it's out of range for the normal review.

@MickLesk MickLesk requested a review from CrazyWolf13 February 20, 2025 09:10
@michelroegl-brunner michelroegl-brunner merged commit ba41bcd into main Feb 20, 2025
2 checks passed
@MickLesk MickLesk deleted the redesign_actual_budget branch February 20, 2025 13:04
csaller pushed a commit to csaller/ProxmoxVE that referenced this pull request Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change A change that is not backward compatible update script A change that updates a script
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants