Deploying YAFFA
Introduction
YAFFA (Yet Another Free Finance App) is a self-hosted personal finance management application designed to help you track expenses, manage budgets, and achieve your financial goals. It provides a clean interface for monitoring your money without sharing financial data with third parties.
Key highlights of YAFFA:
- Expense Tracking: Log and categorize all your transactions
- Budget Management: Create and monitor budgets by category
- Multiple Accounts: Track checking, savings, credit cards, and investments
- Reports and Charts: Visualize spending patterns and trends
- Goal Tracking: Set and monitor financial goals
- Import Support: Import transactions from bank exports
- Multi-Currency: Support for multiple currencies
- Privacy Focused: All financial data stays on your server
This guide walks through deploying YAFFA on Klutch.sh using Docker.
Why Deploy YAFFA on Klutch.sh
Deploying YAFFA on Klutch.sh provides several advantages:
Financial Privacy: Your sensitive financial data never leaves your server.
Always Accessible: Track expenses and check budgets from anywhere.
HTTPS by Default: Secure access to your financial information.
Persistent Storage: Your financial history persists with Klutch.sh volumes.
Prerequisites
Before deploying YAFFA on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
Deploying YAFFA on Klutch.sh
Create Your Repository
Create a new GitHub repository with a Dockerfile:
FROM node:18-alpine
WORKDIR /app
# Clone YAFFARUN apk add --no-cache git \ && git clone https://github.com/yaffa-app/yaffa.git . \ && npm install \ && npm run build
ENV NODE_ENV=productionENV PORT=3000
EXPOSE 3000
CMD ["npm", "start"]Push to GitHub
Push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
Set the traffic type to HTTP with port 3000.
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
NODE_ENV | production |
DATABASE_URL | Your database connection string |
Attach Persistent Volume
Add a persistent volume for database storage.
Deploy Your Application
Click Deploy to build and launch YAFFA.
Create Your Account
Access your YAFFA instance and create your account to start tracking your finances.
Additional Resources
Conclusion
YAFFA on Klutch.sh provides a private personal finance management solution that keeps your financial data under your control. Track expenses, monitor budgets, and achieve financial goals without sharing sensitive information with third-party services.