diff --git a/Dockerfile b/Dockerfile index cd6152d..13daf5f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,18 +7,14 @@ RUN apt-get update && apt-get install -y gettext tzdata locales && rm -rf /var/l RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ dpkg-reconfigure --frontend=noninteractive locales && \ update-locale LANG=en_US.UTF-8 -ENV LANG=en_US.UTF-8 +ENV LANG="en_US.UTF-8" ENV TZ="America/Los_Angeles" WORKDIR /app COPY . /app -COPY requirements.txt . RUN pip install -r requirements.txt -COPY . . - -COPY config.ini /app/config.ini -COPY entrypoint.sh /app/entrypoint.sh RUN chmod +x /app/entrypoint.sh + ENTRYPOINT ["/app/entrypoint.sh"] diff --git a/script/docker/compose.yaml b/script/docker/compose.yaml new file mode 100644 index 0000000..2aa35cf --- /dev/null +++ b/script/docker/compose.yaml @@ -0,0 +1,52 @@ +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 + 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 + # - /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)($$|/) + # restart: unless-stopped + # expose: + # - 9100 + # network_mode: host + # pid: host +configs: + me_config: + file: ./config.ini \ No newline at end of file diff --git a/script/docker/ollama-entrypoint.sh b/script/docker/ollama-entrypoint.sh new file mode 100644 index 0000000..ced1718 --- /dev/null +++ b/script/docker/ollama-entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# Start Ollama in the background. +/bin/ollama serve & +# Record Process ID. +pid=$! + +# Pause for Ollama to start. +sleep 5 + +echo "🔴 Retrieve llama3.2:3b model..." +ollama pull llama3.2:3b +echo "🟢 Done!" + +# Wait for Ollama process to finish. +wait $pid