Skip to main content

BigCapital

Steps to deploy Bigcapital using docker-compose

  1. Download the required files.

In a directory of your choosing, clone the Bigcapital repository and navigate into the ./bigcapital directory by entering the following commands:

git clone --depth 1 -b main https://github.com/bigcapitalhq/bigcapital.git && cd ./bigcapital

The most important files in the docker deployment the docker-compose.prod.yml, .env.example and docker folder, we're not going to build docker images of the application from scratch, but docker-compose already imports built images from Github Registry where our continuous-deployment push the new built images when we release new versions.

  1. Configure the .env file.

Change all mail variables to configure it with your mail server and the password of databases.

cp .env.example .env && nano .env

For example, you can change :

BASE_URL=http://192.168.1.103:2465
PUBLIC_PROXY_PORT=2465
PUBLIC_PROXY_SSL_PORT=1443

    2b. Configure docker-compose.prod.yml

Reflect your changes in .env

    ports:
      - '${PUBLIC_PROXY_PORT:-2465}:80'
      - '${PUBLIC_PROXY_SSL_PORT:-1443}:443'

You can use bind mounts for data persistency.

  1. Get the services up and running.
docker-compose --file docker-compose.prod.yml up -d

Changing .env values after running Docker containers

Once the Docker containers are built and running, the application inside the container has already read the values from the .env file and is using them. If you need to change the environment variable values, you will have to stop and re-start the Bigcapital containers.

If you were on production, use the following command.

docker-compose --file docker-compose.prod.yml restart

Or if you were on development mode.

docker-compose restart
info

The .env.example file contains all the necessary environment variable values, allowing you to begin using the application directly with these pre-configured settings. You also have the option to modify the values as needed.

  1. Get the services up and running.
docker-compose --file docker-compose.prod.yml up -d