Deploy Akaunting on Docker

Why You Need to Deploy Akaunting Right Now — Take Control of Your Money and Buy Back Your Time

Most people don’t have a money problem — they have a visibility problem. Bills are scattered, subscriptions hide in the background, and business expenses bleed into personal life. Akaunting fixes that. It gives you a clear, centralized, self-hosted view of your finances so you stop reacting and start deciding.

This guide shows you how to deploy Akaunting, a free and open-source accounting platform, on your own infrastructure. The result is total ownership of your financial data, no monthly fees, and a system that grows with your life, your family, or your business.


What We’re Installing and Why It Matters

Akaunting is a modern accounting application designed for individuals, freelancers, landlords, and small businesses. It handles income, expenses, invoices, clients, vendors, categories, and reports in one clean interface.

By self-hosting Akaunting, you eliminate subscription creep, avoid vendor lock-in, and gain full control over your financial history. This is the kind of system people wish they had set up years ago — the kind that makes you feel organized, responsible, and ahead of the curve.


Deployment Platform

This tutorial is written for deploying Akaunting using Docker on a Linux host. This could be:

  • A dedicated home server
  • A virtual machine on Proxmox, VMware, or VirtualBox
  • An old laptop or desktop running Linux
  • A small cloud VPS if desired

Docker keeps the installation clean, repeatable, and easy to back up or move later.


Equipment and Requirements

  • A computer or VM running Linux (Ubuntu Server 22.04+ recommended)
  • At least 2 GB RAM
  • 20 GB free disk space
  • Docker and Docker Compose installed
  • Local network access
  • Optional: a domain name for internet access

Network Access Strategy

Local Network Access

By default, Akaunting will be exposed on a local port (for example, port 8080). Any device on your home network can access it using:

http://SERVER_IP:8080

Internet Access

To access Akaunting from outside your home, you will need:

  • A static IP or dynamic DNS service
  • A domain name (optional but recommended)
  • Port forwarding on your router
  • A firewall rule allowing HTTP/HTTPS

Recommended port forwarding:

  • External 80 → Internal 8080 (HTTP)
  • External 443 → Internal 8443 (HTTPS, if using a reverse proxy)

For security and professionalism, placing Akaunting behind a reverse proxy like Nginx or Traefik with HTTPS is strongly recommended.


Install Docker and Docker Compose

Update the system and install Docker:

sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker

Add your user to the Docker group:

sudo usermod -aG docker $USER

Deploy Akaunting with Docker Compose

Create a working directory:

mkdir -p ~/akaunting
cd ~/akaunting

Create a docker-compose.yml file:

version: "3.8"

services:
  akaunting:
    image: akaunting/akaunting:latest
    container_name: akaunting
    ports:
      - "8080:80"
    environment:
      - APP_URL=http://localhost:8080
      - DB_HOST=db
      - DB_DATABASE=akaunting
      - DB_USERNAME=akaunting
      - DB_PASSWORD=strongpassword
    depends_on:
      - db
    restart: unless-stopped

  db:
    image: mysql:8.0
    container_name: akaunting-db
    environment:
      MYSQL_DATABASE=akaunting
      MYSQL_USER=akaunting
      MYSQL_PASSWORD=strongpassword
      MYSQL_ROOT_PASSWORD=rootpassword
    volumes:
      - db-data:/var/lib/mysql
    restart: unless-stopped

volumes:
  db-data:

Start the application:

docker compose up -d

Initial Setup

Open a browser and navigate to:

http://SERVER_IP:8080

Follow the on-screen installer to create the admin account and configure basic settings such as currency, company name, and fiscal year.


Security and Best Practices

  • Change all default passwords immediately
  • Restrict database access to Docker network only
  • Use HTTPS when exposing to the internet
  • Back up the database volume regularly
  • Keep Docker images updated

Why This Changes Everything

When your finances live in one place you control, decisions get easier. You stop guessing. You stop avoiding. You stop leaking money through neglect. Akaunting turns financial management from a chore into a quiet advantage.

This is the kind of system that frees mental space — space you can spend on your family, your health, or building something that actually matters.

Deploy it once. Benefit for years.