Files
carddav-proxy/README.md

1.6 KiB

carddav-proxy

CardDAV Proxy mit einfacher Weboberfläche für Kontaktsuche (z. B. Zoho CardDAV).

Features

  • /api/search?q=... für Kontakt-Suche
  • Web UI unter /
  • Zugangsdaten nur über Environment Variables

Environment

  • PORT (default 8096)
  • CARDDAV_URL (Addressbook URL)
  • CARDDAV_USERNAME
  • CARDDAV_PASSWORD

Lokaler Start

npm install
CARDDAV_URL=... CARDDAV_USERNAME=... CARDDAV_PASSWORD=... npm start

Docker

docker build -t registry.aquantico.lan/carddav-proxy:latest .
docker run --rm -p 8096:8096 \
  -e CARDDAV_URL='https://.../addressbooks/default/' \
  -e CARDDAV_USERNAME='...' \
  -e CARDDAV_PASSWORD='...' \
  registry.aquantico.lan/carddav-proxy:latest

Portainer Stack (Copy/Paste)

services:
  carddav-proxy:
    image: registry.aquantico.lan/carddav-proxy:latest
    container_name: carddav-proxy
    restart: always
    networks:
      - traefik
    environment:
      - PORT=8096
      - URL=https://contacts.zoho.eu/carddav/v1/principals/<user>/addressbooks/default/
      - NAME=your-zoho-login
      - PASSWORD=your-zoho-app-password
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.carddav-proxy.rule=Host(`carddav-proxy.aquantico.lan`)"
      - "traefik.http.routers.carddav-proxy.entrypoints=websecure"
      - "traefik.http.routers.carddav-proxy.tls=true"
      - "traefik.http.services.carddav-proxy.loadbalancer.server.port=8096"
      - "traefik.docker.network=traefik"

networks:
  traefik:
    external: true

Hinweis: Der Proxy unterstützt sowohl URL/NAME/PASSWORD als auch CARDDAV_URL/CARDDAV_USERNAME/CARDDAV_PASSWORD.