Running Akaunting in a Docker container using docker-compose
Akaunting is a libre, open source and online accounting software designed for small businesses and freelancers. It is built with modern technologies such as Laravel, VueJS, Bootstrap 4, RESTful API etc. Thanks to its modular structure, Akaunting provides an awesome App Store for users and developers.
- Docker
- docker-compose
- Install Docker and docker-compose
- clone this repository
- copy
.env.exampleto.env - Update
AKAUNTING_VERSIONvalue to use the akaunting version of your preference. Get the latest version from https://github.com/akaunting/akaunting/releases/latest - Fill other environments on blocks "
# Need to setup" - Run
docker-compose up - Access the application URL
For local-only services and ports, use docker-compose.override.yml in your machine and do not commit this file.
Example:
services:
# Keep service names from docker-compose.yml and only override local behavior
mailpit:
image: axllent/mailpit:latest
ports:
- 127.0.0.1:8025:8025
- 127.0.0.1:1025:1025
openbao:
image: openbao/openbao:latest
command: server -dev
environment:
BAO_DEV_ROOT_TOKEN_ID: dev-only-root-token
BAO_DEV_LISTEN_ADDRESS: 0.0.0.0:8200
cap_add:
- IPC_LOCK
ports:
- 127.0.0.1:8200:8200
networks:
- internal
dufs:
image: sigoden/dufs:latest
command: /data -A --allow-upload --allow-delete
volumes:
- ./volumes/webdav:/data
ports:
- 127.0.0.1:5000:5000
networks:
- internalPS: After finish setup you will see two
.envfiles: one on root of repository only used to setup Akaunting and other onvolumes/akaunting/.env
If you need use a existing database, put your *.sql files on folder volumes/mysql/dump
The database will persisted on folder volumes/mysql/data
Two files needed to be modified in production because Kimai is no longer a 100% open source project, be careful not to remove the changes made
-
Go to the akaunting folder
git pull origin main cd volumes/akaunting -
Get the latest version of akaunting and apply the required patches
git pull origin master git apply ../../patches/akaunting-modifications.patch
-
Execute the following commands, one by one, do not copy and paste all at once:
docker compose exec php npm ci docker compose exec php npm run production docker compose exec php composer prod docker compose exec php php artisan update:all docker compose exec php php artisan cache:clear docker compose exec php php artisan optimize:clear docker compose exec php php artisan migrate chown -R www-data:www-data .
- If you can't build the assets, copy the
volumes/akaunting/node_modules/folder from another installation
This project follows Akaunting licensing under the GPLv3 license.