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 |
| ODK Aggregate   | 8015, 8016 (HTTP) |      8815 |       8415 |
| ODK Build       |       8017 (HTTP) |      8817 |       8417 |
| 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 |
