services: web: build: . ports: - "8080:80" volumes: - ./public:/var/www/html/public - ./src:/var/www/html/src - ./migrations:/var/www/html/migrations - ./uploads:/var/www/html/public/static/uploads - ./data:/var/www/html/data - ./tests:/var/www/html/tests - ./scripts:/var/www/html/scripts environment: TZ: Europe/Berlin DB_HOST: db DB_NAME: steuerkram DB_USER: steuerkram DB_PASS: steuerkram APP_SECRET: change-this-in-production OLLAMA_URL: ${OLLAMA_URL:-http://host-gateway:11434} OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen3-vl} extra_hosts: - "host-gateway:host-gateway" depends_on: db: condition: service_healthy restart: unless-stopped db: image: mariadb:11 environment: TZ: Europe/Berlin MARIADB_ROOT_PASSWORD: rootpass MARIADB_DATABASE: steuerkram MARIADB_USER: steuerkram MARIADB_PASSWORD: steuerkram volumes: - ./data/mariadb:/var/lib/mysql - ./migrations:/docker-entrypoint-initdb.d healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 5s timeout: 5s retries: 10 restart: unless-stopped