diff --git a/script/docker/compose.yaml b/script/docker/compose.yaml index 05f584a..45569d3 100644 --- a/script/docker/compose.yaml +++ b/script/docker/compose.yaml @@ -1,52 +1,48 @@ +# Docker Compose configuration for Meshing Around application with optional services. +# This setup includes the main Meshing Around service, with optional Ollama and Prometheus Node Exporter services. +# Adjust device mappings, ports, and configurations as needed for your environment. + +configs: + me_config: + file: ./config.ini # Path to the configuration file for Meshing Around. + # Windows users may need to adjust the path format, e.g., C:/path/to/config.ini + services: meshing-around: build: context: ../.. - depends_on: - ollama: - condition: service_healthy - devices: - - /dev/ttyAMA10 # Replace this with your actual device! configs: - source: me_config target: /app/config.ini + user: 1000:1000 # run as non-root user for better security. extra_hosts: - - "host.docker.internal:host-gateway" # Used to access a local linux meshtasticd device via tcp - ollama: - image: ollama/ollama:0.5.1 - volumes: - - ./ollama:/root/.ollama - - ./ollama-entrypoint.sh:./entrypoint.sh - container_name: ollama - pull_policy: always - tty: true - restart: always - entrypoint: - - /usr/bin/bash - - /script/docker/entrypoint.sh - expose: - - 11434 - healthcheck: - test: "apt update && apt install curl -y && curl -f http://localhost:11434/api/tags | grep -q llama3.2:3b" - interval: 30s - timeout: 10s - retries: 20 - node-exporter: - image: quay.io/prometheus/node-exporter:latest - volumes: - - /proc:/host/proc:ro - - /sys:/host/sys:ro - - /:/rootfs:ro - command: - - --path.procfs=/host/proc - - --path.rootfs=/rootfs - - --path.sysfs=/host/sys - - --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/) + # - "host.docker.internal:host-gateway" # Enables access to host services from within the container. + container_name: meshing-around restart: unless-stopped - expose: - - 9100 - network_mode: host - pid: host -configs: - me_config: - file: ./config.ini \ No newline at end of file + #tty: true # Enable only if interactive terminal is needed. + ports: + #- "8420:8420" # web report interface + #- "443:443" # HTTPS interface meshtasticD + environment: + - OLLAMA_API_URL=http://ollama:11434 + + # Uncomment the following service if you want to enable Ollama for local LLM API access. + # ollama: + # image: ollama/ollama:0.5.1 + # volumes: + # - ./ollama:/root/.ollama + # - ./ollama-entrypoint.sh:./entrypoint.sh + # container_name: ollama + # pull_policy: always + # tty: true + # restart: always + # entrypoint: + # - /usr/bin/bash + # - /script/docker/entrypoint.sh + # ports: + # - "11434:11434" + # healthcheck: + # test: "curl -f http://localhost:11434/api/tags | grep -q llama3.2:3b" + # interval: 30s + # timeout: 10s + # retries: 20 \ No newline at end of file