Skip to content

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:

Deploying YAFFA on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile:

    FROM node:18-alpine
    WORKDIR /app
    # Clone YAFFA
    RUN apk add --no-cache git \
    && git clone https://github.com/yaffa-app/yaffa.git . \
    && npm install \
    && npm run build
    ENV NODE_ENV=production
    ENV 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:

    VariableValue
    NODE_ENVproduction
    DATABASE_URLYour 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.