This is the main repository containing all installation scripts, configuration and customization of operating system all application present in Spotter Cluster virtual machine.

## Virtual machine specifications
- **Memory:** 4 GB
- **CPU:** 1 processor, 2 cores
- **Hard Disk:** SCSI, 60 GB

## Operating system installation

Download **Alpine Virtual 3.7.0 x86_64** from <https://alpinelinux.org/downloads/> and boot from it. At the login prompt, use the root user without password to log in.

```
# Set up interfaces (leave the default choices)
setup-interfaces
ifup eth0

# Download and launch the setup script  
wget dl.dasm.cz/alpine.sh
sh alpine.sh
```

The script will perform the bare Alpine linux installation into VM using LUKS-on-LVM. The default disk encryption password is `password`. No root password is set.

## Application installation

### First time setup
```
# Install git
apk --no-cache add git

# Clone the repository
git clone https://gitlab.dasm.cz:8443/Spotter-Cluster/Spotter-Cluster.git

# Enter the repository directory
cd Spotter-Cluster

# Optional: Edit the install sequence script
vi 00-install.sh

# Launch the script
./00-install.sh
```

### Resuming from a snapshot
Assumes that the repository has already been cloned.
```
# Enter the repository directory
cd Spotter-Cluster

# Update repository
git pull

# Optional: Edit the install sequence script
vi 00-install.sh

# Launch the script
./00-install.sh
```

## Port assignment

| Application     |  Internal Port   | HTTP Port | HTTPS Port |
|-----------------|-----------------:|----------:|-----------:|
| ActiveMQ        | 61616 (ActiveMQ) |       N/A |        N/A |
| CKAN            |      8003 (HTTP) |      8803 |       8403 |
| CKAN Datapusher |      8004 (HTTP) |       N/A |        N/A |
| Crisis Cleanup  |      8005 (HTTP) |      8805 |       8405 |
| CTS             |      8006 (HTTP) |      8806 |       8406 |
| GNU Health      |      8008 (HTTP) |      8808 |       8408 |
| KanBoard        |      8009 (HTTP) |      8809 |       8409 |
| MariaDB         |     3306 (MySQL) |       N/A |        N/A |
| Mifos X         |      8012 (HTTP) |      8812 |       8412 |
| Motech          |      8013 (HTTP) |      8813 |       8413 |
| OpenDataKit     |      8015 (HTTP) |      8815 |       8415 |
| OpenMapKit      |      8007 (HTTP) |      8807 |       8407 |
| Pan.do/ra       |      8002 (HTTP) |      8802 |       8402 |
| Postfix         |        25 (SMTP) |       N/A |        N/A |
| Postgres        |  5432 (Postgres) |       N/A |        N/A |
| RabbitMQ        |      5672 (AMQP) |       N/A |        N/A |
| Redis           |     6379 (Redis) |       N/A |        N/A |
| Sahana          |      8001 (HTTP) |      8801 |       8401 |
| SAMBRO          |      8001 (HTTP) |      8899 |       8499 |
| SeedDMS         |      8010 (HTTP) |      8810 |       8410 |
| Sigmah          |      8011 (HTTP) |      8811 |       8011 |
| Solr            |      8983 (HTTP) |       N/A |        N/A |
| Ushahidi        |      8014 (HTTP) |      8814 |       8414 |
