Outside the guide at https://daemonless.io/images/actual/ I could not find information on running the Actual Budget server on FreeBSD.
So I tried to run it natively inside a jail.
I followed the guide here https://actualbudget.org/docs/install/build-from-source and went step by step fixing the missing deps.
If you were looking for info on how to do the same, here are the steps I had to take (<root> means root of the repo after a git clone):
The following are needed to run and/or build Actual Budget:
The glob-hasher and better-sqlite3 must be built, because there are no binaries for FreeBSD on NPM. Here, I just manually went into the node_modules tree and ran the build steps (e.g., yarn install && yarn build) for each package.
Update @typescript/native-preview to @typescript/typescript-freebsd-x64 to 7.0.2 instead of beta in crdt, core and server-sync packages (in the respective package.json files under <root>/packages/).
Install typescript-go, symlink /usr/local/bin/tsc to /usr/local/bin/tsgo
Set ACTUAL_HOSTNAME to the jail IP.
I don't know how to port nodejs software, but would gladly collaborate with anyone with experience and using this software to create a port to automate most of this.
So I tried to run it natively inside a jail.
I followed the guide here https://actualbudget.org/docs/install/build-from-source and went step by step fixing the missing deps.
If you were looking for info on how to do the same, here are the steps I had to take (<root> means root of the repo after a git clone):
The following are needed to run and/or build Actual Budget:
- Yarn
- Python (
+ symlinked for npminstall lang/python3, see below) - vips
- gmake
- bash
The glob-hasher and better-sqlite3 must be built, because there are no binaries for FreeBSD on NPM. Here, I just manually went into the node_modules tree and ran the build steps (e.g., yarn install && yarn build) for each package.
Update @typescript/native-preview to @typescript/typescript-freebsd-x64 to 7.0.2 instead of beta in crdt, core and server-sync packages (in the respective package.json files under <root>/packages/).
Install typescript-go, symlink /usr/local/bin/tsc to /usr/local/bin/tsgo
Set ACTUAL_HOSTNAME to the jail IP.
I don't know how to port nodejs software, but would gladly collaborate with anyone with experience and using this software to create a port to automate most of this.