Organizes 11 projects for Cerbo GX/Venus OS into a single repository: - axiom-nmea: Raymarine LightHouse protocol decoder - dbus-generator-ramp: Generator current ramp controller - dbus-lightning: Blitzortung lightning monitor - dbus-meteoblue-forecast: Meteoblue weather forecast - dbus-no-foreign-land: noforeignland.com tracking - dbus-tides: Tide prediction from depth + harmonics - dbus-vrm-history: VRM cloud history proxy - dbus-windy-station: Windy.com weather upload - mfd-custom-app: MFD app deployment package - venus-html5-app: Custom Victron HTML5 app fork - watermaker: Watermaker PLC control UI Adds root README, .gitignore, project template, and per-project .gitignore files. Sensitive config files excluded via .gitignore with .example templates provided. Made-with: Cursor
37 lines
767 B
Docker
37 lines
767 B
Docker
FROM python:3.11-slim
|
|
|
|
LABEL maintainer="Axiom NMEA Project"
|
|
LABEL description="NMEA TCP Server for Raymarine LightHouse protocol"
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy the package files for installation
|
|
COPY pyproject.toml /app/
|
|
COPY raymarine_nmea/ /app/raymarine_nmea/
|
|
|
|
# Install the package
|
|
RUN pip install --no-cache-dir -e .
|
|
|
|
# Copy the server
|
|
COPY nmea-server/server.py /app/
|
|
|
|
# Create non-root user for security
|
|
RUN useradd --create-home --shell /bin/bash nmea && \
|
|
chown -R nmea:nmea /app
|
|
|
|
USER nmea
|
|
|
|
# Default environment variables
|
|
ENV RAYMARINE_INTERFACE=""
|
|
ENV NMEA_HOST=0.0.0.0
|
|
ENV NMEA_PORT=10110
|
|
ENV UPDATE_INTERVAL=1.0
|
|
ENV LOG_LEVEL=INFO
|
|
|
|
# Expose the NMEA port
|
|
EXPOSE 10110
|
|
|
|
# Run the server
|
|
ENTRYPOINT ["python", "-u", "/app/server.py"]
|