# Claper - Interaktív prezentáció és közönség bevonás # Domain: present.${DOMAIN} # Database: postgres # RAM: ~100M (mem_limit: 384M) | Pi-compatible: Yes # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # SECRET_KEY_BASE - Titkosítási kulcs (auto-generated) # DB_PASSWORD - Adatbázis jelszó (auto-generated) services: claper: image: ghcr.io/claperco/claper:1.8 container_name: claper restart: unless-stopped depends_on: claper-postgres: condition: service_healthy environment: - DATABASE_URL=postgresql://claper:${DB_PASSWORD}@claper-postgres:5432/claper - SECRET_KEY_BASE=${SECRET_KEY_BASE} - BASE_URL=https://present.${DOMAIN} volumes: - claper_uploads:/app/priv/static/uploads networks: - traefik-public - claper-internal deploy: resources: limits: memory: 384M healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:4000"] interval: 30s timeout: 5s retries: 3 start_period: 30s labels: - "traefik.enable=true" - "traefik.http.routers.claper.rule=Host(`present.${DOMAIN}`)" - "traefik.http.routers.claper.entrypoints=websecure" - "traefik.http.routers.claper.tls=true" - "traefik.http.routers.claper.tls.certresolver=letsencrypt" - "traefik.http.services.claper.loadbalancer.server.port=4000" claper-postgres: image: postgres:16-alpine container_name: claper-postgres restart: unless-stopped environment: - POSTGRES_USER=claper - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=claper - TZ=Europe/Budapest volumes: - claper_postgres_data:/var/lib/postgresql/data networks: - claper-internal deploy: resources: limits: memory: 256M healthcheck: test: ["CMD-SHELL", "pg_isready -U claper -d claper"] interval: 10s timeout: 5s retries: 5 start_period: 20s volumes: claper_postgres_data: claper_uploads: networks: traefik-public: external: true claper-internal: