@@ -19,8 +19,27 @@ As a last step texts can be loaded into an information retrieval system to query
...
@@ -19,8 +19,27 @@ As a last step texts can be loaded into an information retrieval system to query
## Configuration and startup
## Configuration and startup
1.**Create Docker swarm:**
1.**Create Docker swarm:**
The following part is for **users** and not the development team. The development team uses a script which sets up a local development swarm.
The generated computational workload is handled by a [Docker](https://docs.docker.com/) swarm. A swarm is a group of machines that are running Docker and joined into a cluster. It consists out of two different kinds of members, managers and workers. Currently it is not possible to specify a dedicated Docker host, instead Opaque expects the executing system to be a swarm manager of a cluster with at least one dedicated worker machine. The swarm setup process is described best in the [Docker documentation](https://docs.docker.com/engine/swarm/swarm-tutorial/).
The generated computational workload is handled by a [Docker](https://docs.docker.com/) swarm. A swarm is a group of machines that are running Docker and joined into a cluster. It consists out of two different kinds of members, managers and workers. Currently it is not possible to specify a dedicated Docker host, instead Opaque expects the executing system to be a swarm manager of a cluster with at least one dedicated worker machine. The swarm setup process is described best in the [Docker documentation](https://docs.docker.com/engine/swarm/swarm-tutorial/).
The dev team can use dind_swarm_setup.sh. If the workers cannot join the manager node. Try opening the following ports using the ubuntu firewall ufw:
```bash
sudo ufw allow 2376/tcp \
&&sudo ufw allow 7946/udp \
&&sudo ufw allow 7946/tcp \
&&sudo ufw allow 80/tcp \
&&sudo ufw allow 2377/tcp \
&&sudo ufw allow 4789/udp
sudo ufw reload &&sudo ufw enable
sudo systemctl restart docker
```
2.**Create a network storage:**
2.**Create a network storage:**
The dind_swarm_setup.sh script handles this step for the dev team aswell.
A shared network space is necessary so that all swarm members have access to all the data. To achieve this a [Samba](https://www.samba.org/) can be used.
A shared network space is necessary so that all swarm members have access to all the data. To achieve this a [Samba](https://www.samba.org/) can be used.
``` bash
``` bash
# Example: Create a Samba share via Docker
# Example: Create a Samba share via Docker
...
@@ -55,7 +74,7 @@ $ <YOUR EDITOR> nopaque.env # Fill out the empty variables within this file.
...
@@ -55,7 +74,7 @@ $ <YOUR EDITOR> nopaque.env # Fill out the empty variables within this file.
``` bash
``` bash
# Execute the following 3 steps only on first startup
# Execute the following 3 steps only on first startup
$ docker-compose run web flask db upgrade
$ docker-compose run web flask db upgrade
$ docker-compose run web flask db insert-initial-database-entries
$ docker-compose run web flask insert-initial-database-entries