Deploy Akaunting
Open-source accounting with MariaDB and persistent business data.
Scheduler
Just deployed
Akaunting
Just deployed
/var/www/html
MariaDB
Just deployed
/var/lib/mysql
Deploy and Host Akaunting on Railway
What is Akaunting?
Akaunting is open-source accounting software for small businesses and freelancers. It provides invoicing, expense tracking, banking, reporting, and multi-company bookkeeping through a browser-based interface.
About Hosting Akaunting
This template runs Akaunting 3.1.21 with MariaDB 11.8.2 and a Railway cron service for scheduled accounting tasks. Railway provides the public HTTPS endpoint for Akaunting while MariaDB remains on private networking. Akaunting and MariaDB each use a persistent volume, preserving the installed application, uploads, modules, configuration, and database. Shared credentials are generated once and passed through Railway service references. The deployer supplies only the initial administrator email and password.
Common Use Cases
- Send invoices and track customer payments.
- Record expenses, bills, banking activity, and transfers.
- Run reports and maintain books for one or more small businesses.
Dependencies for Akaunting Hosting
- Akaunting 3.1.21, pinned to the official image digest.
- MariaDB 11.8.2 on Railway private networking.
- A Railway cron service for Akaunting's scheduled commands.
- Persistent volumes for the complete Akaunting installation and MariaDB data.
Deployment Dependencies
- Akaunting source
- Official Akaunting Docker packaging
- Akaunting installation documentation
- Umbrel Akaunting package
Implementation Details
The Akaunting service listens on port 80. Railway checks the static
/healthz.html readiness file and routes public HTTPS to the application. The
root page redirects to /auth/login, which is the primary application check.
The official -v image retains the Akaunting release archive so a newly
attached Railway volume can be populated at /var/www/html. On the first start,
the wrapper waits for MariaDB, runs Akaunting's supported artisan install
command, and writes a marker into the persistent application volume. Later
starts reuse the installed files and database instead of replaying setup.
The Akaunting service reaches MariaDB through
${{MariaDB.RAILWAY_PRIVATE_DOMAIN}}. MariaDB owns the authoritative generated
database password; Akaunting and the scheduler reference it without copying a
literal value. The application signing key is generated once on Akaunting and
referenced by the scheduler.
The scheduler runs php artisan schedule:run --no-interaction every five
minutes. Akaunting's default queue driver is synchronous, so a separate queue
worker or Redis service is not required for this supported baseline.
Before updating, back up both persistent volumes, review Akaunting and MariaDB release notes, and validate the replacement immutable image digests in isolation. If a migration is incompatible, restore matching application and database backups rather than rolling back only the application image.
This community template is maintained independently and does not imply affiliation with or endorsement by Akaunting.
Why Deploy Akaunting on Railway?
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 Akaunting 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.
Template Content
Scheduler
akaunting/akaunting:3.1.21-vAkaunting
akaunting/akaunting:3.1.21-vADMIN_EMAIL
Initial administrator email; required to sign in and recover the account.
ADMIN_PASSWORD
Initial administrator password; choose a unique strong value.
MariaDB
mariadb:11.8.2