2024-11-20 16:38:26 +09:00
|
|
|
# fems-mqtt/Dockerfile
|
|
|
|
FROM eclipse-mosquitto:latest
|
|
|
|
|
|
|
|
# 환경 변수 설정
|
|
|
|
ARG MQTT_USERNAME
|
|
|
|
ARG MQTT_PASSWORD
|
|
|
|
|
|
|
|
# 설정 파일 복사
|
|
|
|
COPY ./config/mosquitto.conf /mosquitto/config/mosquitto.conf
|
2024-11-23 10:00:42 +09:00
|
|
|
COPY ./config/acl /mosquitto/config/
|
2024-11-20 16:38:26 +09:00
|
|
|
|
2024-11-23 10:04:08 +09:00
|
|
|
# Create entrypoint script with proper permissions setting
|
|
|
|
RUN echo '#!/bin/sh' > /docker-entrypoint.sh && \
|
|
|
|
echo 'set -e' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'touch /mosquitto/data/passwd' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'mosquitto_passwd -b /mosquitto/data/passwd "${MQTT_USERNAME}" "${MQTT_PASSWORD}"' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'mosquitto_passwd -b /mosquitto/data/passwd "${NODE_RED_USERNAME}" "${NODE_RED_PASSWORD}"' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'chown -R mosquitto:mosquitto /mosquitto' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'chmod 700 /mosquitto/data/passwd' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'chmod 700 /mosquitto/config/acl' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'chmod -R 755 /mosquitto/log' >> /docker-entrypoint.sh && \
|
|
|
|
echo 'exec "$@"' >> /docker-entrypoint.sh && \
|
|
|
|
chmod +x /docker-entrypoint.sh
|
2024-11-20 16:38:26 +09:00
|
|
|
|
2024-11-23 10:04:08 +09:00
|
|
|
# Initial permissions setup
|
|
|
|
RUN chown -R mosquitto:mosquitto /mosquitto
|
2024-11-20 16:38:26 +09:00
|
|
|
|
2024-11-23 10:04:08 +09:00
|
|
|
EXPOSE 1884 8883
|
|
|
|
|
|
|
|
USER mosquitto
|