Install using Ansible¶
Ansible is a software for the management of servers and can be used for automatically deploying Flowceltool.
You can also easily infer the steps for manual deployment from the Ansible playbook.
Prerequisites¶
- You have setup a virtual machine with CentOS 7.4 Linux. (Of course, any modern Linux will work but will need adjustments to the Ansible playbook file).
- You can connect to the VM as user root with
SSH
(i.e., you properly setup theauthorized_keys
for root and configured the SSH server appropriately). - You have Ansible (>=2.4) installed on your local machine (e.g., using
pip install ansible
). - You have the
pwgen
binary installed on your local machine.
Installation¶
First, clone the repository from Github and get the latest stable version.
$ git clone git@github.com:bihealth/flowcelltool.git
$ git checkout v0.1.1
Create an inventory
file in the ansible
sub directory with the remote server’s hostname.
Note that we use Ansible variables here to set the name and password of the Postgres user that Flowcelltool will use.
Also note that you can change the Flowcelltool version here and the automatically created super user name (default: root
) and password (default: "password"
).
In a more refined Ansible setup, you would use vault-encrypted host variables.
$ cat <<EOF >inventories.yml
---
flowcelltool-servers:
hosts:
"your-vm-hostname":
# Postgres Configuration
#
# Postgres database to create
FLOWCELLTOOL_DB: 'flowcelltool'
# User to use for connecting to postgres server
FLOWCELLTOOL_PG_USER: 'flowcelltool'
# Password of user defined above
FLOWCELLTOOL_PG_PASSWORD: 'flowcellpass'
# Flowcelltool Configuration
#
# Version of Flowcelltool to install
FLOWCELLTOOL_VERSION: 'stable'
# Super user name to create
FLOWCELLTOOL_SUPERUSER: root
# Super user password to set
FLOWCELLTOOL_SUPERUSER_PW: password
# Generate secret key
DJANGO_SECRET_KEY: '`pwgen -N 1 40`'
EOF
Now, execute the Ansible playbook.
$ ansible-playbook -i inventory.yml inst-flowcelltool-centos.yml
Ansible playbooks are easy to read! If you want to find out how to install Flowcelltool manually.
Note that this will setup a PostgreSQL databse, Nginx as a reverse proxy, and the Flowcell app itself. However, also note that it will only perform a setup for HTTP on port 80 and not yet an HTTPS server.
You can then go to https://your-vm-hostname
and login with the user and password configured above.
Of course, you will have to confirm the security exception for the self-signed SSL certificate.
Continuing From Here¶
Now, continue with the Getting Started guide or read on Email sending and LDAP authentication in Configure Advanced Features.