InvoicePlane is a self-hosted open source application for managing your invoices, clients and payments.
For more information visit InvoicePlane.com or try the Demo.
Run a MySQL database, dedicated to invoiceplane
docker run --name invoiceplane-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=invoiceplane \
-e MYSQL_USER=invoiceplane \
-e MYSQL_PASSWORD=my-secret-pw \
-v /my_dir/invoiceplane:/var/lib/mysql -d mysql:5.7
This will start MySQL, set the root password and create a database for invoiceplane. This does take some time, so dont try to get invoiceplane setup too quick
docker run -ti -d -p 80:80 --name invoiceplane --link invoiceplane-mysql:mysql mhzawadi/invoiceplane
We are linking the two containers and expose the HTTP port, once MySQL is up and running setup of invoiceplane should be quick.
This will also setup a database called invoiceplane with the invoiceplane user having superuser access to this database
You can get an all-in-one YAML deployment descriptor with Docker compose, like this :
curl https://github.com/mhzawadi/invoiceplane/blob/master/docker-compose.yml
docker-compose up -d
If your using docker swarm you can get a stack that has the same setup:
curl https://github.com/mhzawadi/invoiceplane/blob/master/stack-invoiceplane.yml
docker stack deploy --compose-file stack-invoiceplane.yml invoiceplane
if you run docker swarm, you can add your config to docker swarm config and have it persist across containers.
Mount your config to /var/www/html/ipconfig.php
- TZ: the timezone for PHP
- MYSQL_HOST: the MySQL server
- MYSQL_USER: the username for MySQL
- MYSQL_PASSWORD: the password for MySQL
- MYSQL_DB: the MySQL database
- MYSQL_PORT: the MySQL port, if not 3306
- IP_URL: This is the host that you will access the site on
- DISABLE_SETUP: Have you run setup?
You can use following tags on Docker hub:
latest
- latest stable releasev1.5.9.1
- latest stable release for the 1.5.9 version build number 1
Latest is build from the docker hub once I push to the github repo, the arm versions are built from my mac with the below buildx tool
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t mhzawadi/invoiceplane:v1.5.10.1 --push .