services: p42: build: . image: p42-dashboard container_name: p42-dashboard restart: unless-stopped ports: # Nur intern erreichbar: standardmäßig an 127.0.0.1 gebunden – dein nginx leitet auf # http://127.0.0.1:${P42_PORT} weiter. Port/Adresse in .env änderbar (siehe .env.example). - "${P42_BIND:-127.0.0.1}:${P42_PORT:-3000}:3000" environment: TZ: Europe/Berlin # Anfragen kommen nur über nginx: dessen X-Forwarded-For/-Proto vertrauen # (echte Client-IP für den Login-Schutz, HTTPS für sichere Cookies) FORWARDED_ALLOW_IPS: "${P42_TRUSTED_PROXIES:-*}" volumes: # Datenbank + hochgeladene Bilder – bleiben bei Updates und Neubau erhalten - ./data:/data # Einstellungen (API-Keys, Wikipedia-Kontakt) – nur lesend - ./config.json:/app/config.json:ro # "p42": gemeinsames Netz mit P42-S.M. – dort ist der Agent unter http://p42-sm:9142 erreichbar networks: [default, p42] networks: p42: name: p42 external: true # legt deploy/update-docker.sh bei Bedarf an