This project runs Actual Budget - a local-first personal finance tool - on Cloudflare Containers.
Actual is a 100% free and open-source personal finance tool written in Node.js. It features:
- Local-first approach with optional synchronization
- Envelope budgeting methodology
- Bank account integration
- Modern web interface
- Cross-platform support
This setup uses:
- Cloudflare Containers to run the Actual Budget server
- Cloudflare Workers to route requests to the container
- SQLite database for data persistence within the container
- Node.js 20+
- npm or yarn
- Cloudflare account with Containers access
- Install dependencies:
npm install- Start the development server:
npm run dev- Open http://localhost:8787 to access Actual Budget
Deploy to Cloudflare:
npm run deploycontainer_src/- Contains the complete Actual Budget applicationsrc/index.ts- Cloudflare Worker that routes requests to the containerDockerfile- Container configuration for Actual Budget
The container is configured to:
- Run on port 5006 (Actual Budget's default)
- Use production Node.js environment
- Sleep after 10 minutes of inactivity
- Maintain a single instance for data consistency