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
```

## Host assignment

| Application     |    Host   | UID/GID |   Internal Port  |
|-----------------|----------:|--------:|-----------------:|
| ActiveMQ        |  activemq |   61616 | 61616 (ActiveMQ) |
| CKAN            |      ckan |    8003 |      8080 (HTTP) |
| CKAN Datapusher |    ckandp |    8004 |      8080 (HTTP) |
| Crisis Cleanup  |  ccleanup |    8005 |      8080 (HTTP) |
| CTS             |       cts |    8006 |      8080 (HTTP) |
| FrontlineSMS    |     flsms |    8018 |      8080 (HTTP) |
| GNU Health      | gnuhealth |    8008 |      8080 (HTTP) |
| KanBoard        |  kanboard |    8009 |      8080 (HTTP) |
| MariaDB         |   mariadb |    3306 |     3306 (MySQL) |
| Mifos X         |    mifosx |    8012 |      8080 (HTTP) |
| Motech          |    motech |    8013 |      8080 (HTTP) |
| ODK Aggregate   |       odk |    8015 |      8080 (HTTP) |
| ODK Build       |  odkbuild |    8017 |      8080 (HTTP) |
| OpenMapKit      |       omk |    8007 |      8080 (HTTP) |
| Pan.do/ra       |   pandora |    8002 |      8080 (HTTP) |
| Postfix         |   postfix |     587 |        25 (SMTP) |
| Postgres        |  postgres |    5432 |  5432 (Postgres) |
| RabbitMQ        |  rabbitmq |    5672 |      5672 (AMQP) |
| Redis           |     redis |    6379 |     6379 (Redis) |
| Sahana          |    sahana |    8001 |      8080 (HTTP) |
| SAMBRO          |    sambro |    8001 |      8080 (HTTP) |
| SeedDMS         |   seeddms |    8010 |      8080 (HTTP) |
| Sigmah          |    sigmah |    8011 |      8080 (HTTP) |
| Solr            |      solr |    8983 |      8983 (HTTP) |
| Ushahidi        |  ushahidi |    8014 |      8080 (HTTP) |
