diff --git a/deploy/docker/Dockerfile.telemetry_server b/deploy/docker/Dockerfile.telemetry_server new file mode 100644 index 0000000..b3f1b2a --- /dev/null +++ b/deploy/docker/Dockerfile.telemetry_server @@ -0,0 +1,18 @@ +# syntax=docker/dockerfile:1.7 +FROM python:3.11-slim + +ENV PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 \ + PYTHONPATH=/app + +WORKDIR /app + +COPY deploy/requirements/telemetry_server.txt /tmp/requirements.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install --upgrade pip && \ + pip install -r /tmp/requirements.txt + +COPY . /app + +EXPOSE 5020 +CMD ["python3", "-m", "telemetry.telemetry_server"] diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml index 6d3d0c2..9c759c1 100644 --- a/deploy/docker/docker-compose.yml +++ b/deploy/docker/docker-compose.yml @@ -48,6 +48,29 @@ services: networks: - dronedetector-net + + dronedetector-telemetry-server: + container_name: dronedetector-telemetry-server + image: dronedetector-telemetry-server:latest + build: + context: ../.. + dockerfile: deploy/docker/Dockerfile.telemetry_server + env_file: + - ../../.env + environment: + - PYTHONPATH=/app + working_dir: /app + command: ["python3", "-m", "telemetry.telemetry_server"] + restart: unless-stopped + ports: + - "5020:5020" + volumes: + - ../../.env:/app/.env:ro + - ../../telemetry:/app/telemetry + - ../../common:/app/common + networks: + - dronedetector-net + networks: dronedetector-net: name: dronedetector-net diff --git a/deploy/requirements/telemetry_server.txt b/deploy/requirements/telemetry_server.txt new file mode 100644 index 0000000..7728d2e --- /dev/null +++ b/deploy/requirements/telemetry_server.txt @@ -0,0 +1,3 @@ +fastapi==0.115.6 +uvicorn[standard]==0.32.1 +python-dotenv==1.0.1