diff --git a/scripts/wordlist.txt b/scripts/wordlist.txt
index a29f8fa8..1e5006a0 100644
--- a/scripts/wordlist.txt
+++ b/scripts/wordlist.txt
@@ -144,6 +144,8 @@ Skoda
SLYR
SSL
Survey123
+synchronization
+synchronise
TLS
Transifex
Trialing
@@ -232,6 +234,7 @@ openmaptiles
openssl
orthometric
orthophoto
+orchestrator
osm
pbf
peatlands
@@ -282,6 +285,7 @@ uncheck
undoable
url
uuid
+vCPUS
xcf
xyz
yml
diff --git a/src/server/install/index.md b/src/server/install/index.md
index ae26d580..5d7c1f97 100644
--- a/src/server/install/index.md
+++ b/src/server/install/index.md
@@ -7,7 +7,36 @@ Installation guide will help you to install your o
## Installation System Requirements
-We recommend using a dedicated host machine with 8 GB of memory. The requirements for CPU and persistent storage depend largely on the frequency of project updates and the anticipated size of the data you expect to store respectively.
+For a typical deployment, we recommend using a dedicated host machine with **8 GB** of memory and **2 vCPUS** (similar to AWS `t3a.large` instances).
+The requirements for CPU and persistent storage depend largely on the frequency of project updates and the anticipated size of the data you expect to store respectively.
+A very conservative rule of thumb, regarding needed disk size would be `mergin maps project size * number of versions`.
+If you have a team size over 25 people and synchronise often your projects, consider a host with **4 vCPUS**.
+
+On OS level, we recommend to use a Linux distribution that has fully compatibility with Docker, since is deployed by default with `docker compose`.
+
+A low-latency, high-bandwidth environment is preferred due to volume of data needed to perform synchronization with . This is specially important on large projects with hundreds of megabytes in between syncs.
+
+
+### Infrastructure overview
+
+* **PostgreSQL** - Database that holds application data. Can be external and therefore excluded from install orchestration with proper [configuration](https://merginmaps.com/docs/server/environment/#database-settings).
+* **Redis** - The caching and asynchronous task engine running on top of
+* **Celery-Beat** - The Celery task orchestrator used by
+* **Celery-Worker** - The Celery container responsible for workers that perform tasks on
+* **Server** - The server backend instance of
+* **Web** - The frontend instance for
+* **Proxy** - NGINX instance serving in reverse proxy configuration.
+
+### Firewall ports
+
+By default, only HTTP port `8080` need to be open on firewall side. Also is recommended to open `443` port if SSL is enabled.
+All other infrastructure instances will work within the same docker network group, so no additional ports need to be managed on firewall side.
+
+
+## Install Docker from official source
+
+Please, use latest version of Docker and Docker Compose tools.
+Follow the [official](https://docs.docker.com/engine/install/) guidelines in accordance to your OS system.
## Mergin Maps CE Docker Images
@@ -60,7 +89,7 @@ Then, edit the `.prod.env` file and provide values for all variables marked as r
### Start docker containers
-Before proceeding, ensure you have both `docker` and `docker-compose` installed on your system.
+Before proceeding, ensure you have both `docker` and `docker compose` installed on your system.
Once your environment is configured, you can start the containers by running the following commands for the Community and Enterprise editions.
@@ -70,7 +99,7 @@ Community edition stack:
$ mkdir -p mergin_db # database data directory
$ sh ../common/set_permissions.sh projects # application internal data directory
$ sh ../common/set_permissions.sh diagnostic_logs # directory to persist diagnostic logs (optional)
-$ docker-compose -f docker-compose.yml up -d
+$ docker compose -f docker-compose.yml up -d
```
Enterprise edition stack:
@@ -80,8 +109,8 @@ $ mkdir -p mergin-db-enterprise # database data directory
$ sh ../common/set_permissions.sh data # application internal data directory
$ sh ../common/set_permissions.sh map_data # maps data directory (neccessary for maps)
$ sh ../common/set_permissions.sh diagnostic_logs # directory to persist diagnostic logs (optional)
-$ docker-compose -f docker-compose.yml up -d
-$ docker-compose -f docker-compose.maps.yml up -d # Run maps stack separately
+$ docker compose -f docker-compose.yml up -d
+$ docker compose -f docker-compose.maps.yml up -d # Run maps stack separately
```
### Initialise database
diff --git a/src/server/upgrade/index.md b/src/server/upgrade/index.md
index dde44ffe..beb4eca8 100644
--- a/src/server/upgrade/index.md
+++ b/src/server/upgrade/index.md
@@ -242,7 +242,7 @@ Perform the migration:
1. Start up your docker containers
```bash
- $ docker-compose -f docker-compose.yml up # or similarly, based on your deployment
+ $ docker compose -f docker-compose.yml up # or similarly, based on your deployment
```
2. Check that you are on correct versions (`0e3fc92aeaaa`, `223e3be99e92`).
@@ -274,7 +274,7 @@ Perform the migration:
1. Start up your docker containers
```bash
- $ docker-compose -f docker-compose.yml up # or similarly, based on your deployment
+ $ docker compose -f docker-compose.yml up # or similarly, based on your deployment
```
2. Check that you are on correct versions (`a5d4defded55`, `223e3be99e92`).
@@ -306,7 +306,7 @@ Update image to `2024.2.2` and perform the migration:
1. Start up your docker containers
```bash
- $ docker-compose -f docker-compose.yml up # or similarly, based on your deployment
+ $ docker compose -f docker-compose.yml up # or similarly, based on your deployment
```
2. Check that you are on correct versions (`35af0c8be41e`, `3a77058a2fd7`).
@@ -334,7 +334,7 @@ Update image to `2024.2.1` and perform the migration:
1. Start up your docker containers
```bash
- $ docker-compose -f docker-compose.yml up # or similarly, based on your deployment
+ $ docker compose -f docker-compose.yml up # or similarly, based on your deployment
```
2. Check that you are on correct versions (`3a77058a2fd7`, `0d867687ab64`).
@@ -371,7 +371,7 @@ Perform the migration:
1. Start up your docker containers
```bash
- $ docker-compose -f docker-compose.yml up # or similarly, based on your deployment
+ $ docker compose -f docker-compose.yml up # or similarly, based on your deployment
```
2. Check that you are on a correct version (`b6cb0a98ce20`)
@@ -395,7 +395,7 @@ Perform the migration:
1. Start up your docker containers
```bash
- $ docker-compose -f docker-compose.yml up # or similarly, based on your deployment
+ $ docker compose -f docker-compose.yml up # or similarly, based on your deployment
```
2. Check that you are on correct versions (`b6cb0a98ce20`, `0d867687ab64`)
@@ -440,7 +440,7 @@ $ docker exec mergin-db pg_dump -U postgres -Fc postgres > pg_backup.dump
4. Stop all running services (from project root folder)
```bash
-$ docker-compose -f docker-compose.yml stop
+$ docker compose -f docker-compose.yml stop
```
5. Pull the latest changes
@@ -488,7 +488,7 @@ There are few settings you may want to change values for:
7. Make sure projects volume mounts in `docker-compose` file still match (You can set up new volumes by following the [quick start guide](../install/)). Switch to new server version and PostgreSQL to at least version 12 (14 recommended) by running new docker containers:
```bash
-$ docker-compose -f docker-compose.yml up
+$ docker compose -f docker-compose.yml up
```
8. Restore backup from older PostgreSQL version, e.g.: