Unter der URL https://developers.google.com/tag-platform/tag-manager/server-side/manual-setup-guide?hl=de#manually_provision_a_preview_server finden Sie den Link zur Dokumentation von Google.
Sie müssen vorher die Container Konfiguration in der Google Web-Konsole (https://tagmanager.google.com/) einrichten.
Wie in dem Artikel Installation von nginx mit automatischen SSL Zertifikaten (Let’s Encrypt) beschrieben, kann dieser nginx Container mit dem benötigten Google Tag Manager Container verknüpft werden. Hierfür muss lediglich die docker-compose.yml des nginx Containers wie folgt angepasst werden:
version: "2" services: web: image: linuxserver/swag:latest container_name: nginx-autoletsencrypt cap_add: - NET_ADMIN environment: - PUID=1000 - PGID=2002 - TZ=Europe/Berlin - SUBDOMAINS= - VALIDATION=http - DHLEVEL=2048 - ONLY_SUBDOMAINS=false - STAGING=false - URL=$SERVER_FQDN - EMAIL=$EMAIL - EXTRA_DOMAINS=$SSL_DOMAINS volumes: - /home/podman/data/nginx-autoletsencrypt/:/config ports: - 443:443 - 80:80 restart: unless-stopped networks: - tagmanager tagmanager-preview: image: gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable container_name: tagmanager-preview environment: - CONTAINER_CONFIG=<Container-config> - RUN_AS_PREVIEW_SERVER=true - PORT=8082 ports: - 8082:8082 restart: unless-stopped networks: - tagmanager tagmanager: image: gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable container_name: tagmanager environment: - CONTAINER_CONFIG=<Container-config> - PREVIEW_SERVER_URL=https://<preview-server-url> - PORT=8083 ports: - 8083:8083 restart: unless-stopped networks: - tagmanager depends_on: tagmanager-preview: condition: service_started networks: tagmanager: driver: bridge
In der docker-compose.yml müssen die Variablen in den <>-Klammern ersetzt werden.
Anschließend kann mit der Abarbeitung der Dokumentation des nginx Containers weiter fortgefahren werden. Hierzu müssen für die "SSL_DOMAINS" die zu verwendenen Domains eingetragen werden, wie zum Beispiel die "<preview-server-url>" oder auch die "<tagmanager-url>". Nachdem mittels der "create.sh" die Container erstellt wurden, muss nur noch eine nginx Konfiguration für den Preview Container abgelegt und die Variablen in den <>-Klammern ausgetauscht werden. Folgende Befehle können so auf dem Podman Server ausgeführt werden:
cat > preview-container.conf << EOF server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name <preview-server-url>; include /config/nginx/ssl.conf; client_max_body_size 0; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://tagmanager-preview:8082; } } EOF podman unshare mv preview-container.conf /home/podman/data/nginx-autoletsencrypt/nginx/site-confs/preview-container.conf
Genauso kann auch eine nginx Konfiguration für die Tagmanager URL hinterlegt werden:
cat > tagmanager-container.conf << EOF server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name <tagmanager-url>; include /config/nginx/ssl.conf; client_max_body_size 0; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://tagmanager:8083; } } EOF podman unshare mv tagmanager-container.conf /home/podman/data/nginx-autoletsencrypt/nginx/site-confs/tagmanager-container.conf