Deploy Trading Ledger

Self-hosted trading journal: broker sync, imports, P&L analytics

Deploy Trading Ledger

Just deployed

/data

Deploy and Host self hosted Trading Ledger on Railway

Trading Ledger is a self-hosted trading journal you deploy to Railway in one click, with SQLite on a persistent volume and a generated login password.

About Hosting Trading Ledger open-source software on Railway (self hosted Trading Ledger template)

Trading Ledger is an independent community packaging of the MIT-licensed LuxAlgo Trade Journal at commit 834e7b6, built on LuxAlgo's Trade Journal and not affiliated with or endorsed by LuxAlgo Global, LLC.

Why Deploy Trading Ledger, the self-hosted trading journal on Railway

A spreadsheet works until you need broker imports and a P&L calendar that stay consistent, and hosted journals keep your fills on their servers.

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Trading Ledger on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Railway vs Other Hosting Providers and VPS for Trading Ledger self hosting

Choosing where a self-hosted trading journal's container and SQLite volume live shapes setup effort.

ProviderWhat You Get with RailwayWhat You Get with the Other Provider
DigitalOceanA one-click template with a public HTTPS domain and a persistent volume at /data.A Linux droplet where you install Docker, configure the firewall and HTTPS, and maintain updates.
AWSA managed service with the volume and domain already wired, so no VPC or IAM setup first.Broad control over networking and storage, with each piece configured by you.
HetznerManaged hosting from the template, with volume and health checks running without server patching.Low-cost bare servers where you own the operating system, backups and restart behavior.

Pick Railway for a quick start, or a VPS when you want full host control.

Common Use Cases for hosted Trading Ledger

  • Syncing a broker account: Connect a supported broker with your own read-only credentials, and fills pull in as executions. Saved credentials are encrypted at rest.

  • Importing statements: Upload a CSV or statement export on the Import page, review the detected format and warnings, then commit. Re-importing the same file is safe because duplicate executions are removed.

  • Reading a P&L calendar: Daily and weekly totals show on a calendar, so a bad week stands out. Open any day to see its trades and notes.

  • Analyzing results and journaling: Win rate, profit factor, expectancy and drawdown come from the stored trades. A Markdown daily journal records your reasoning beside the numbers.

  • Keeping data on one volume: Everything lives in a SQLite database on the single volume mounted at /data. Sign-in uses the JOURNAL_PASSWORD generated for your deploy, copied from the Variables tab.

Dependencies for Trading Ledger Docker hosted on Railway

This template runs as one container that bundles the Trading Ledger app and its SQLite database, so there is no separate database service.

Deployment Dependencies for Managed Trading Ledger Service (one container with SQLite)

The deployment is one service, trading-ledger, running ghcr.io/onepush-dev/trading-ledger:834e7b6. Two template variables are generated with no inputs.

Implementation Details for Trading Ledger (unmodified upstream image at 834e7b6 plus a Railway start script)

The image is built from the unmodified upstream root Dockerfile at commit 834e7b6, on the base image ghcr.io/onepush-dev/trading-ledger-base:834e7b6 (Next.js 15 standalone, app unchanged).

How does Trading Ledger compare against other tools

Trading Ledger vs a spreadsheet (Spreadsheet Alternative)

  • Structure: Trading Ledger rebuilds fills into round-trip trades, a P&L calendar and analytics automatically.
  • Import and sync: It imports supported statement exports and can sync from brokers you connect with your own credentials.
  • Flexibility: A spreadsheet wins for fully custom layouts and one-off analysis you shape any way you like.
  • Data location: Records live in SQLite on your own Railway volume, and you can back up the data directory.

Trading Ledger vs a hosted trading journal (Hosted Journal Alternative)

  • Hosting control: You run the app on infrastructure you choose, and the data stays in your own volume.
  • Credentials: Broker, market-data and AI keys are encrypted at rest, and requests go from your instance to the providers you configure.
  • Convenience: A hosted journal wins on zero setup, managed upgrades and support, since you handle deployment and backups yourself.
  • Maturity: This is an early pre-1.0 release, so schemas may still change.

Trading Ledger with Docker vs Railway (Railway Hosting Alternative)

  • Docker on your own host: Gives full control over the machine, networking and storage, but you manage TLS, patching and restarts.
  • Railway: Runs the same unmodified upstream image with a generated login password, a public HTTPS domain and a persistent volume at /data.
  • Replicas: Keep one replica, because SQLite on a single volume should not be shared across instances.
  • Cost model: Railway is usage-based, while a self-managed host is a fixed server you already pay for.

Trading Ledger on Railway vs Self-Hosted Docker (Docker Alternative)

  • Setup effort: Railway handles the domain, HTTPS and volume mount that a self-managed Docker host requires you to configure.
  • Operations: On Railway the platform runs the host, whereas with Docker you own monitoring and restarts end to end.
  • Where Docker wins: A specific host, custom networking or full filesystem control is easier to get by running the container yourself.

How to use Trading Ledger on Railway?

  1. Open the public domain from your Railway service. You will be sent to /login.
  2. Sign in with the JOURNAL_PASSWORD value from the Variables tab, which is generated per deploy.
  3. On an empty dashboard, choose Load demo data to try the app with generated trades. Remove that account later in Accounts.
  4. Broker sync, market data and AI are optional. They use keys you enter inside the app.
  5. Back up the /data volume regularly, since it holds your SQLite database, attachments and key file.
  6. This is an early pre-1.0 release, so schemas may still change between versions.

Health check endpoint used by Railway:

GET /login

Keep one replica for this service, because local SQLite state lives on a single volume.

How to self host Trading Ledger on other VPS Services (Trading Ledger self hosting guide)

Clone the Repository

Start by cloning the upstream repository at the pinned commit so you know exactly which code you are running.

git clone https://github.com/LuxAlgo/trade-journal
cd trade-journal
git checkout 834e7b6

Install Dependencies

Use the Node 22+ and pnpm version pinned in the repository, then install from the lockfile.

pnpm install --frozen-lockfile

Configure Environment Variables

Set a login password and a stable encryption key source. Keep JOURNAL_SECRET unchanged once you save broker or AI credentials, or those saved credentials become unreadable.

export JOURNAL_PASSWORD=your-password
export JOURNAL_SECRET=your-long-random-secret
export JOURNAL_DATA_DIR=/var/lib/trading-ledger

Start the Trading Ledger Application

Run the upstream flow: the container image with a persistent data directory, JOURNAL_PASSWORD and JOURNAL_SECRET set, and HTTPS placed in front of it through a reverse proxy such as your-domain on your own server.

docker compose up -d

Railway handles the HTTPS domain, persistent volume, and container restarts for you, while on a VPS you manage those yourself.

Pricing and License of Trading Ledger (Trading Ledger pricing)

Trading Ledger is MIT-licensed open-source software, so you can self-host it on Railway at no software cost. This packaging is independent community work and is not affiliated with or endorsed by LuxAlgo Global, LLC.

Trading Ledger hosted vs self hosted comparison (Pricing, features, costs, and more)

Trading Ledger is free MIT-licensed software, so self hosting only costs the infrastructure you run it on. This packaging is independent and not affiliated with or endorsed by LuxAlgo.

Monthly cost of self hosting Trading Ledger on Railway

Railway bills by usage, so the monthly cost depends on the RAM, CPU and volume storage the service uses, plus any other services you attach.

System Requirements for Hosting Trading Ledger on a VPS

A VPS needs to run a Node.js process, provide a persistent disk for the SQLite database and attachments, and offer a way to put HTTPS in front of the app.

Frequently Asked Questions (FAQs)

How do I sign in to Trading Ledger?

Open your public domain and you will be sent to the login page. Enter the value of JOURNAL_PASSWORD, which you can copy from the service's Variables tab.

Is this called Trade Journal?

No. The listing title is Trading Ledger.

What is JOURNAL_SECRET and should I change it?

JOURNAL_SECRET is the key source used to encrypt saved broker, market-data and AI credentials at rest. Do not change it after you save credentials, or those saved credentials will no longer be readable.

Is this a stable 1.0 release?

No. This is an early pre-1.0 release, so APIs and the database schema may still change before 1.0.

What should I back up?

Back up the /data volume, which holds the SQLite database, attachments and the local key file. Also keep a copy of your JOURNAL_SECRET value somewhere safe, since the encrypted credentials depend on it.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
52