# Installation

We have a quickstart Ansible playbook (opens new window) to help you install our applications. This is not intended for production usage, this is an example of how to deploy the different parts of our product. You may need to modify it to suit your needs.

# Limitations

  • This project is an example of how to quickly install our applications. You may need to do multiple modifications to match your infrastructure and your security needs.

  • This project does not support high availability deployment.

# Prerequisites

  • You need to be able to download docker images from the Internet. By default, some images come from Dockerhub and some from our private registry.
  • You need to have python3 and python3-venv on the computer that will run Ansible.
  • Servers must be Debian 10 / 11 with Python3.
  • Servers must be accessible through SSH.
  • You must be sudo / root on the servers.

# Environment

This quickstart uses Ansible to install Docker, Docker-compose, and the Bimdata applications on the configured servers. This doesn't support HA deployment currently.

# How to start

# The easy way

We provide a script to simplify the Ansible usage. Keep in mind that it will not let you completely personalize how you want to install the Bimdata.io apps.

Clone the repository:

git clone https://github.com/bimdata/quickstart-onpremise.git
cd quickstart-onpremise

You need to ensure that you have python3 and python3-venv installed on your system.

Then you just need to run the script, it will install the other dependencies and ask you how you want to install it.

./install.sh

# The "Ansible" way

Clone the repository:

git clone https://github.com/bimdata/quickstart-onpremise.git
cd quickstart-onpremise

You will need to install some python dependencies, you may want to do it in a virtualenv. If this is the case, you need to create it:

python3 -m venv venv
source venv/bin/activate

Now you need to install the dependencies:

pip install -r requirements.txt

This playbook comes with an example inventory. The easiest way to start is to copy this inventory and modify the copy:

cp -rp inventories/sample inventories/my-own-inventory

First, you need to edit the inventory file inventories/my-own-inventory/inventory.ini. There are three groups:

  • app: this is where all the web app will be deployed,
  • db: this is where all databases will be deployed if you don't use an external Postgres cluster.
  • workers: this is where all the workers that process data will be deployed.

Currently, app and db do not support multiples hosts. This project can't be use for a fully redundant infrastructure.

Then, you need to modify the variables to match your needs.

When everything is configured, you can deploy:

ansible-playbook -i inventories/my-own-inventory/inventory.ini install-bimdata.yml

You may need to add options:

Options Effect
-k Prompt for ssh password.
-K Prompt for sudo password.
--ask-vault-pass Prompt for vault password

If you can't use sudo, you can check the Ansible documentation (opens new window) on how to configure another way to manage privilege escalation.