# Neue Ideenkarte anlegen ## Übersicht | Variable | Bedeutung | |---|---| | `` | Name der Kommune (z.B. `lohne`) | | `` | Eindeutige Port-ID für die Datenbank (z.B. `4` → Port `5434`) | | `` | Git-Branch des Frontend-Repos | --- ## Schritt 1 — DNS Record anlegen Im DNS-Panel einen neuen A-Record anlegen: | Feld | Wert | |---|---| | 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: ```bash dig .endex-geodaten.de ``` --- ## Schritt 2 — Nginx `default.conf` anpassen ### 2a — Subdomain in den Port-80-Block eintragen ```nginx server_name endex-geodaten.de www.endex-geodaten.de git.endex-geodaten.de lohne.endex-geodaten.de .endex-geodaten.de localhost; ``` ### 2b — Neuen HTTPS-Server-Block hinzufügen ```nginx # WEBGIS server { listen 443 ssl; server_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-/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass webgis--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: ```bash 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 .endex-geodaten.de ``` Nginx neu laden: ```bash docker compose exec nginx nginx -s reload ``` --- ## Schritt 4 — Docker Container in `docker-compose.yml` anlegen ### PHP/UI Container ```yaml webgis--php: build: php-docker/ container_name: webgis--php volumes: - ./webgis-:/var/www/webgis- networks: - frontend - webgis--nw ``` ### Datenbank Container ```yaml webgis--db: image: postgis/postgis:15-3.3 container_name: webgis--db restart: always ports: - "127.0.0.1:543:5432" # inside the container always 5432 environment: - POSTGRES_USER=${WEBGIS__DB_USER} - POSTGRES_PASSWORD=${WEBGIS__DB_PW} - POSTGRES_DB=${WEBGIS__DB_NAME} volumes: - ./webgis--data:/var/lib/postgresql/data networks: - webgis--nw ``` ### Netzwerk ergänzen Unter dem `networks:` Block am Ende der `docker-compose.yml`: ```yaml networks: webgis--nw: driver: bridge ``` --- ## Schritt 5 — Nginx Volume ergänzen Beim nginx-Service in `docker-compose.yml` das neue Volume eintragen: ```yaml volumes: - ./webgis-:/var/www/webgis- ``` --- ## Schritt 6 — Frontend Source Code klonen ```bash git submodule add -b https://git.endex-geodaten.de/lukas.uptmoor/webgis-.git ``` > Jede Kommune erhält ein eigenes Repo, da Features initial variieren können. --- ## Schritt 7 — Container starten ```bash docker compose up -d webgis--php webgis--db ``` Logs prüfen: ```bash docker compose logs -f webgis--php docker compose logs -f webgis--db ``` --- ## Schritt 8 — Datenbank vorbereiten SSH-Tunnel öffnen: ```bash ssh -L 5433:localhost:543 root@endex-geodaten.de ``` Strukturen laden: ```bash docker exec -it webgis--db psql -U $POSTGRES_USER -d $POSTGRES_DB < migrations/001_initial_schema.sql ```