Skip to content

Commit e07d9cf

Browse files
authored
Merge pull request #682 from MerginMaps/2025.7.2-ee-ce-migration
CE/EE 2025.7.3 migration
2 parents 9f8359f + c5f3441 commit e07d9cf

File tree

1 file changed

+116
-4
lines changed

1 file changed

+116
-4
lines changed

src/server/upgrade/index.md

Lines changed: 116 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,113 @@ Make sure to always back up your database data before doing a migration.
1414

1515
[[toc]]
1616

17+
## From 2025.5.x to 2025.7.x {#migration-guide-from-2025-5-x-to-2025-7-x}
18+
19+
<MigrationType type="EE" />
20+
21+
Perform the migration:
22+
23+
1. Stop your running docker containers
24+
```bash
25+
$ docker compose -f docker-compose.yml down # or similarly, based on your previous deployment
26+
```
27+
2. Clone or pull the <GitHubRepo id="MerginMaps/server/blob/master/" desc="server repository" /> or download <GitHubRepo id="MerginMaps/server/blob/master/deployment" desc="deployment folder" /> and open `/enterprise` folder.
28+
```bash
29+
$ cd server/deployment/enterprise
30+
```
31+
3. Adapt your existing `docker-compose.yml` and `docker-compose.maps.yml` file to the new version.
32+
4. If you have installed maps stack, change `qgis_extractor` service image version to 2025.3.0 in `docker-compose.maps.yml`.
33+
34+
:::warning Version breaking change
35+
Previously used image version for service `qgis_extractor` (2025.1.0) is not compatible with latest version of Mergin Maps server.
36+
:::
37+
38+
5. If you have installed maps stack, add new environment variables to `qgis_extractor` service in `docker-compose.maps.yaml`.
39+
```yaml
40+
environment:
41+
- OVERVIEWS_DATA_DIR=/data
42+
- MM_WMS_TILE_BUFFER=100
43+
- MM_WMS_AVOID_ARTIFACTS=1
44+
- BROKER_URL=redis://mergin-redis:6379/0
45+
- CELERY_RESULT_BACKEND=redis://mergin-redis:6379/0
46+
```
47+
48+
You can also clean the following variables from `.prod.env`:
49+
50+
```bash
51+
QGIS_EXTRACTOR_TIMEOUT
52+
QGIS_EXTRACTOR_API_URL
53+
```
54+
55+
6. Start up your docker containers
56+
```bash
57+
$ docker compose -f docker-compose.yml -d up # or similarly, based on your deployment
58+
```
59+
7. Check that you are on correct database migration versions (`6cb54659c1de`, `e95d051969ce`).
60+
```bash
61+
$ docker exec merginmaps-server flask db current
62+
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
63+
INFO [alembic.runtime.migration] Will assume transactional DDL.
64+
6cb54659c1de
65+
e95d051969ce
66+
```
67+
68+
- If you do not see the version numbers at all, run the following commands:
69+
```bash
70+
$ docker exec merginmaps-server flask db stamp 6cb54659c1de
71+
$ docker exec merginmaps-server flask db stamp e95d051969ce
72+
```
73+
8. Run the database migration:
74+
```bash
75+
$ docker exec merginmaps-server flask db upgrade community@b9ec9ab6694f
76+
$ docker exec merginmaps-server flask db upgrade enterprise@c40e5e645b57
77+
```
78+
79+
## From 2025.2.x to 2025.7.x (CE) {#migration-guide-from-2025-2-x-to-2025-7-x-ce}
80+
81+
<MigrationType type="CE" />
82+
83+
Perform the migration:
84+
85+
1. Stop your running docker containers
86+
```bash
87+
$ docker compose -f docker-compose.yml down # or similarly, based on your previous deployment
88+
```
89+
2. Clone or pull the <GitHubRepo id="MerginMaps/server/blob/master/" desc="server repository" /> or download <GitHubRepo id="MerginMaps/server/blob/master/deployment" desc="deployment folder" /> and open `/community` folder.
90+
```bash
91+
$ cd server/deployment/community
92+
```
93+
3. Adapt your existing `docker-compose.yml` and `.prod.env` environment variables to the new version.
94+
4. Upgrade your nginx proxy configuration file with the latest version available in the <GitHubRepo id="MerginMaps/server/blob/master/deployment/common/nginx.conf" desc="nginx.conf" /> (This is a necessary step for improved downloading of zip files from the dashboard).
95+
5. If you want to persist diagnostic logs from a mobile application and QGIS plugin, run the following command to set proper permissions for the folder `/diagnostic_logs` used for storing log files:
96+
```bash
97+
$ sh ../common/set_permissions.sh diagnostic_logs
98+
```
99+
You can also disable this persistence in <GitHubRepo id="MerginMaps/server/blob/master/deployment/community/docker-compose.yml" desc="docker-compose.yml" /> `server` service definition.
100+
6. Start up your docker containers
101+
```bash
102+
$ docker compose -f docker-compose.yml -d up # or similarly, based on your deployment
103+
```
104+
7. Check that you are on correct database migration versions (`ba5051218de4`).
105+
```bash
106+
$ docker exec merginmaps-server flask db current
107+
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
108+
INFO [alembic.runtime.migration] Will assume transactional DDL.
109+
35af0c8be41e (head)
110+
ba5051218de4
111+
```
112+
113+
- If you do not see the version numbers at all, run the following commands:
114+
```bash
115+
$ docker exec merginmaps-server flask db stamp 35af0c8be41e
116+
$ docker exec merginmaps-server flask db stamp ba5051218de4
117+
```
118+
8. Run the database migration:
119+
```bash
120+
$ docker exec merginmaps-server flask db upgrade heads
121+
# New head will be community@b9ec9ab6694f
122+
```
123+
17124
## From 2025.3.x to 2025.5.x {#migration-guide-from-2025-3-x-to-2025-5-x}
18125

19126
<MigrationType type="EE" />
@@ -24,17 +131,22 @@ Perform the migration:
24131
```bash
25132
$ docker compose -f docker-compose.yml down # or similarly, based on your previous deployment
26133
```
27-
2. Please clone or pull the <GitHubRepo id="MerginMaps/server/blob/master/" desc="server repository" /> or download <GitHubRepo id="MerginMaps/server/blob/master/deployment/" desc="deployment folder" />
134+
2. Please clone or pull the <GitHubRepo id="MerginMaps/server/blob/master/" desc="server repository" /> or download <GitHubRepo id="MerginMaps/server/blob/master/deployment" desc="deployment folder" />
28135
```bash
29136
$ cd server/deployment/enterprise
30137
```
31138
3. Adapt your existing `docker-compose.yml` file to the new version.
32139
4. Upgrade your nginx proxy configuration file with the latest version available in the <GitHubRepo id="MerginMaps/server/blob/master/deployment/common/nginx.conf" desc="nginx.conf" /> (This is a necessary step for improved downloading of zip files from the dashboard).
33-
5. Start up your docker containers
140+
5. If you want to persist diagnostic logs from a mobile application and QGIS plugin, run the following command to set proper permissions for the folder `/diagnostic_logs` used for storing log files:
141+
```bash
142+
$ sh ../common/set_permissions.sh diagnostic_logs
143+
```
144+
You can also disable this persistence in <GitHubRepo id="MerginMaps/server/blob/master/deployment/enterprise/docker-compose.yml" desc="docker-compose.yml" /> `server` service definition.
145+
6. Start up your docker containers
34146
```bash
35147
$ docker compose -f docker-compose.yml -d up # or similarly, based on your deployment
36148
```
37-
6. Check that you are on correct database migration versions (`5ad13be6f7ef`, `819e6b20ee93`).
149+
7. Check that you are on correct database migration versions (`5ad13be6f7ef`, `819e6b20ee93`).
38150
```bash
39151
$ docker exec merginmaps-server flask db current
40152
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
@@ -48,7 +160,7 @@ Perform the migration:
48160
$ docker exec merginmaps-server flask db stamp 5ad13be6f7ef
49161
$ docker exec merginmaps-server flask db stamp 819e6b20ee93
50162
```
51-
7. Run the database migration:
163+
8. Run the database migration:
52164
```bash
53165
$ docker exec merginmaps-server flask db upgrade community@6cb54659c1de
54166
$ docker exec merginmaps-server flask db upgrade enterprise@e95d051969ce

0 commit comments

Comments
 (0)