Page:
Eine Mitmachkarte für eine neue Gemeinde anlegen
Clone
2
Eine Mitmachkarte für eine neue Gemeinde anlegen
lukas.uptmoor edited this page 2026-05-15 18:28:08 +02:00
Table of Contents
- Neue Mitmachkarte anlegen
- Übersicht
- Schritt 1 — DNS Record anlegen
- Schritt 2 — Nginx default.conf anpassen
- Schritt 3 — SSL-Zertifikat erneuern
- Schritt 4 — Docker Container in docker-compose.yml anlegen
- Schritt 5 — Nginx Volume ergänzen
- Schritt 6 — Frontend Source Code klonen
- Schritt 7 — Container starten
- Schritt 8 — Datenbank vorbereiten
Neue Mitmachkarte anlegen
Übersicht
| Variable | Bedeutung |
|---|---|
<name> |
Name der Kommune (z.B. lohne) |
<ID> |
Eindeutige Port-ID für die Datenbank (z.B. 4 → Port 5434) |
<branch-name> |
Git-Branch des Frontend-Repos |
Schritt 1 — DNS Record anlegen
Im DNS-Panel einen neuen A-Record anlegen:
| Feld | Wert |
|---|---|
| Name | <name> |
| Typ | A |
| Ziel | 195.59.32.237 |
| TTL | 600s |
⚠️ DNS muss vollständig propagiert sein, bevor Certbot in Schritt 3 ausgeführt wird.
Propagation prüfen:
dig <name>.endex-geodaten.de
Schritt 2 — Nginx default.conf anpassen
2a — Subdomain in den Port-80-Block eintragen
server_name endex-geodaten.de www.endex-geodaten.de git.endex-geodaten.de lohne.endex-geodaten.de <name>.endex-geodaten.de localhost;
2b — Neuen HTTPS-Server-Block hinzufügen
# WEBGIS <NAME>
server {
listen 443 ssl;
server_name <name>.endex-geodaten.de;
ssl_certificate /etc/letsencrypt/live/endex-geodaten.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/endex-geodaten.de/privkey.pem;
root /var/www/webgis-<name>/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass webgis-<name>-php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Schritt 3 — SSL-Zertifikat erneuern
Da kein Wildcard-Zertifikat verwendet wird, muss das Cert neu ausgestellt werden:
docker compose run --rm certbot certonly --webroot \
--webroot-path=/var/www/certbot \
-d endex-geodaten.de \
-d www.endex-geodaten.de \
-d git.endex-geodaten.de \
-d lohne.endex-geodaten.de \
-d <name>.endex-geodaten.de
Nginx neu laden:
docker compose exec nginx nginx -s reload
Schritt 4 — Docker Container in docker-compose.yml anlegen
PHP/UI Container
webgis-<name>-php:
build: php-docker/
container_name: webgis-<name>-php
volumes:
- ./webgis-<name>:/var/www/webgis-<name>
networks:
- frontend
- webgis-<name>-nw
Datenbank Container
webgis-<name>-db:
image: postgis/postgis:15-3.3
container_name: webgis-<name>-db
restart: always
ports:
- "127.0.0.1:543<ID>:5432" # inside the container always 5432
environment:
- POSTGRES_USER=${WEBGIS_<NAME>_DB_USER}
- POSTGRES_PASSWORD=${WEBGIS_<NAME>_DB_PW}
- POSTGRES_DB=${WEBGIS_<NAME>_DB_NAME}
volumes:
- ./webgis-<name>-data:/var/lib/postgresql/data
networks:
- webgis-<name>-nw
Netzwerk ergänzen
Unter dem networks: Block am Ende der docker-compose.yml:
networks:
webgis-<name>-nw:
driver: bridge
Schritt 5 — Nginx Volume ergänzen
Beim nginx-Service in docker-compose.yml das neue Volume eintragen:
volumes:
- ./webgis-<name>:/var/www/webgis-<name>
Schritt 6 — Frontend Source Code klonen
git submodule add -b <branch-name> https://git.endex-geodaten.de/lukas.uptmoor/webgis-<name>.git
Jede Kommune erhält ein eigenes Repo, da Features initial variieren können.
Schritt 7 — Container starten
docker compose up -d webgis-<name>-php webgis-<name>-db
Logs prüfen:
docker compose logs -f webgis-<name>-php
docker compose logs -f webgis-<name>-db
Schritt 8 — Datenbank vorbereiten
SSH-Tunnel öffnen:
ssh -L 5433:localhost:543<ID> root@endex-geodaten.de
Strukturen laden:
docker exec -it webgis-<name>-db psql -U $POSTGRES_USER -d $POSTGRES_DB < migrations/001_initial_schema.sql