summit-finance

summit-finance

Modern invoicing and financial management, designed for small businesses.

Deploy summit-finance

minio-console

railwayapp-templates/minio-console

Just deployed

MinIO

minio/minio:latest

Just deployed

/data

summit

kugie-app/summit

Just deployed

Slack Webhook

railwayapp/function-bun:1.2.10

Just deployed

Postgres

railwayapp-templates/postgres-ssl:16

Just deployed

/var/lib/postgresql/data

Summit Finance

image

Quick Start Deployment Instructions

Deploy Summit to Railway with our one-click template and get your invoicing system running in under 3 minutes.

Prerequisites

Before deploying, make sure you have:

  • A Railway account (create one at railway.app if needed)
  • A Resend account for email capabilities (highly recommended)
  • A Xendit account for payment processing (required for invoice payments)
  • Slack webhook URL (optional, for payment notifications)

Step 1: One-Click Deployment

  1. Click the "Deploy to Railway" button on our repository
  2. Railway will automatically set up the necessary services:
    • PostgreSQL database
    • MinIO storage (for file uploads)
    • Web application

Step 2: Configure Essential Environment Variables

After deployment, you'll need to add some environment variables:

Email Configuration (Highly Recommended)

  1. Create a Resend account if you don't have one
  2. Get your API key from the Resend dashboard
  3. Add to Railway environment variables:
    RESEND_API_KEY=your_resend_api_key
    [email protected]
    RESEND_FROM_NAME=your-sender-name
    

Payment Processing (Required for Invoice Payments)

  1. Create a Xendit account if you don't have one
  2. Get your API keys from the Xendit dashboard
  3. Add to Railway environment variables:
    XENDIT_SECRET_KEY=your_xendit_secret_key
    XENDIT_CALLBACK_VERIFICATION_TOKEN=your_xendit_callback_token
    

Payment Notifications (Optional)

To receive payment notifications in Slack:

SLACK_WEBHOOK_URL=your_slack_webhook_url

Step 3: Set Up File Uploads

File uploads won't work immediately after deployment. Follow these steps to enable them:

  1. Find the MinIO service in your Railway project
  2. Navigate to the MinIO Console URL (provided in the service details)
  3. Log in with the credentials shown in the environment variables
  4. Create a new access key:
    • Go to "Access Keys" in the left sidebar
    • Click "Create new access key"
    • Save both the Access Key and Secret Key
  5. Return to your Summit application in Railway
  6. Update the environment variables with your new MinIO credentials:
    MINIO_ACCESS_KEY=your_generated_access_key
    MINIO_SECRET_KEY=your_generated_secret_key
    
  7. Restart the application service

Step 4: First Login

  1. Once deployed, click the "Open App" button in Railway
  2. Create your admin account at the registration page
  3. Set up your company profile in the settings

Additional Configuration

Customize Your Domain (Optional)

  1. In Railway, go to your Summit app service
  2. Navigate to the "Settings" tab
  3. Under "Domains", add your custom domain
  4. Update your DNS settings as instructed

Setup Guides

How to Set Up Xendit Integration

  1. Create a Xendit account if you don't have one
  2. Complete the account verification process
  3. Navigate to Settings > API Keys in your Xendit Dashboard
  4. Click "Generate Secret Key" and give your key a name (e.g., "Summit Integration")
  5. Choose the appropriate permissions (you'll need at least "Payment" permissions)
  6. Click "Generate Key"
  7. Copy your Secret Key (it starts with "xnd_" followed by "production" for live keys or "development" for test keys)
  8. Go to Settings > Webhooks in your Xendit Dashboard
  9. Find the "Webhook verification token" section
  10. Copy your verification token
  11. Add both these values to your Summit environment variables:
    XENDIT_SECRET_KEY=your_copied_secret_key
    XENDIT_CALLBACK_VERIFICATION_TOKEN=your_webhook_verification_token
    

How to Set Up a Slack Webhook

  1. Go to api.slack.com/apps and sign in to your Slack account
  2. Click "Create New App" and choose "From scratch"
  3. Enter a name for your app (e.g., "Summit Notifications") and select your workspace
  4. On the left sidebar, click on "Incoming Webhooks"
  5. Toggle "Activate Incoming Webhooks" to On
  6. Click "Add New Webhook to Workspace"
  7. Select the channel where you want to receive notifications
  8. Click "Allow" to authorize the app
  9. Copy the Webhook URL that appears on the next page
  10. Add this URL as SLACK_WEBHOOK_URL in your Summit environment variables

How to Create a Resend Account

  1. Visit resend.com and sign up for an account
  2. Verify your email address
  3. Navigate to the API Keys section in your dashboard
  4. Click "Create API Key"
  5. Give your key a descriptive name (e.g., "Summit App")
  6. Select the appropriate permissions (usually "Full Access" for a new setup)
  7. Click "Add" to generate the key
  8. Copy your API key immediately (you'll only see it once)
  9. Add this key as RESEND_API_KEY in your Summit environment variables
  10. Make sure to also set:
    [email protected]
    RESEND_FROM_NAME=your-sender-name
    
  11. For RESEND_FROM_EMAIL, use an email address you've verified with Resend

How to Create MinIO Access Keys

  1. After deployment, find your MinIO service in Railway
  2. Access the MinIO Console URL from your Railway dashboard
  3. Log in using the credentials in your environment variables
  4. In the MinIO Console, click on "Access Keys" in the left sidebar
  5. Click "Create access key"
  6. You can specify a custom access key or let MinIO generate one
  7. Save both the Access Key and Secret Key shown (you'll only see these once)
  8. Add these as MINIO_ACCESS_KEY and MINIO_SECRET_KEY in your Summit environment variables
  9. Restart your application service to apply the changes

Troubleshooting

  • Email not working? Verify your Resend API key and ensure your sender email is verified in Resend.
  • File uploads fail? Double-check your MinIO access key configuration.
  • Payment processing issues? Ensure your Xendit account is properly verified and that you're using the correct API keys (development vs. production).
  • Webhook verification failing? Confirm you've copied the correct Xendit callback verification token.
  • Database connection issues? Railway automatically manages your database, but you may need to restart the service if problems persist.

For additional help, check the GitHub repository or reach out to the team at Kugie.app.


Deploy Now

Details

kugie

Created on May 7, 2025

3 total projects

0 active projects

Dockerfile, TypeScript, JavaScript, CSS

Other



More templates in this category

View Template
Foundry Virtual Tabletop

Foundry Virtual Tabletop

A Self-Hosted & Modern Roleplaying Platform


Lucas's Projects

View Template
(v1) Simple Medusa Backend

(v1) Simple Medusa Backend

Deploy an ecommerce backend and admin using Medusa


Shahed Nasser's Projects

View Template
peppermint

peppermint

Docker-compose port for peppermint.sh


HamiltonAI