services: blinko-website: image: blinkospace/blinko:latest container_name: blinko-website restart: always environment: - NODE_ENV=production - NEXTAUTH_URL=${NEXTAUTH_URL:-https://blink.nocci.it} - NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL:-https://blink.nocci.it} - NEXTAUTH_SECRET=${NEXTAUTH_SECRET} - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} depends_on: postgres: condition: service_healthy volumes: - blinko_data:/app/.blinko networks: - blinko-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:1111/"] interval: 30s timeout: 10s retries: 5 start_period: 30s logging: options: max-size: 10m max-file: "3" postgres: image: postgres:14 container_name: blinko-postgres restart: always environment: - POSTGRES_DB=${POSTGRES_DB:-postgres} - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - TZ=Europe/Berlin volumes: - postgres_data:/var/lib/postgresql/data networks: - blinko-network healthcheck: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER:-postgres}", "-d", "${POSTGRES_DB:-postgres}"] interval: 5s timeout: 10s retries: 5 ollama: image: ollama/ollama:latest container_name: blinko-ollama restart: always environment: - OLLAMA_HOST=0.0.0.0:11434 volumes: - ollama_data:/root/.ollama networks: - blinko-network ollama-proxy: image: caddy:2 container_name: blinko-ollama-proxy restart: unless-stopped depends_on: - ollama volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro networks: - blinko-network ollama-models: image: ollama/ollama:latest container_name: blinko-ollama-models entrypoint: ["/bin/sh", "-c"] command: - | echo "⏳ Warte auf Ollama API..." until curl -s http://ollama:11434/api/tags > /dev/null; do sleep 2 done echo "✅ Ollama ready! Pulling embeddinggemma..." ollama pull embeddinggemma echo "🎉 Modell erfolgreich installiert!" volumes: - ollama_data:/root/.ollama depends_on: - ollama networks: - blinko-network restart: "no" volumes: blinko_data: postgres_data: ollama_data: networks: blinko-network: driver: bridge