auto commit

This commit is contained in:
bangdk 2024-11-25 07:15:01 +09:00
parent 64c3027ef6
commit 0fd4a2ef02
3 changed files with 1152 additions and 17 deletions

View File

@ -102,6 +102,8 @@ services:
args: args:
- MQTT_USERNAME=${MQTT_USERNAME} - MQTT_USERNAME=${MQTT_USERNAME}
- MQTT_PASSWORD=${MQTT_PASSWORD} - MQTT_PASSWORD=${MQTT_PASSWORD}
- NODE_RED_USERNAME=${NODE_RED_USERNAME}
- NODE_RED_PASSWORD=${NODE_RED_PASSWORD}
container_name: fems-mqtt container_name: fems-mqtt
restart: unless-stopped restart: unless-stopped
env_file: env_file:
@ -109,16 +111,18 @@ services:
ports: ports:
- "${MQTT_PORT}:1883" - "${MQTT_PORT}:1883"
- "${MQTT_WSS_PORT}:8883" - "${MQTT_WSS_PORT}:8883"
environment:
- MQTT_USERNAME=${MQTT_USERNAME}
- MQTT_PASSWORD=${MQTT_PASSWORD}
- NODE_RED_USERNAME=${NODE_RED_USERNAME}
- NODE_RED_PASSWORD=${NODE_RED_PASSWORD}
volumes: volumes:
- ./fems-mqtt/data:/mosquitto/data - ./fems-mqtt/data:/mosquitto/data
- ./fems-mqtt/config:/mosquitto/config - ./fems-mqtt/config:/mosquitto/config
- ./fems-mqtt/log:/mosquitto/log - ./fems-mqtt/log:/mosquitto/log
- ./fems-mqtt/certs:/mosquitto/certs - ./fems-mqtt/certs:/mosquitto/certs
environment: # entrypoint: ["/docker-entrypoint.sh"]
- MQTT_USERNAME=${MQTT_USERNAME} # command: ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]
- MQTT_PASSWORD=${MQTT_PASSWORD}
entrypoint: ["/docker-entrypoint.sh"]
command: ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]
user: mosquitto user: mosquitto
healthcheck: healthcheck:
test: test:

View File

@ -1,33 +1,36 @@
# fems-mqtt/Dockerfile # fems-mqtt/Dockerfile
FROM eclipse-mosquitto:latest FROM eclipse-mosquitto:latest
# 환경 변수 설정
ARG MQTT_USERNAME=fems ARG MQTT_USERNAME=fems
ARG MQTT_PASSWORD=fems123! ARG MQTT_PASSWORD=fems123!
ARG NODE_RED_USERNAME=nodered_user
ARG NODE_RED_PASSWORD=nodered_password123!
# Create required directories # Create directories
RUN mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log RUN mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log /mosquitto/certs
# 설정 파일 복사 # Copy configuration
COPY ./config/mosquitto.conf /mosquitto/config/mosquitto.conf COPY ./config/mosquitto.conf /mosquitto/config/
COPY ./config/acl /mosquitto/config/ COPY ./config/acl /mosquitto/config/
# Create entrypoint script with proper permissions setting # Create entrypoint script
RUN echo '#!/bin/sh' > /docker-entrypoint.sh && \ RUN echo '#!/bin/sh' > /docker-entrypoint.sh && \
echo 'set -e' >> /docker-entrypoint.sh && \ echo 'set -e' >> /docker-entrypoint.sh && \
echo 'touch /mosquitto/data/passwd' >> /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 "${MQTT_USERNAME}" "${MQTT_PASSWORD}"' >> /docker-entrypoint.sh && \
echo 'mosquitto_passwd -b /mosquitto/data/passwd "${NODE_RED_USERNAME}" "${NODE_RED_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 'chown -R mosquitto:mosquitto /mosquitto' >> /docker-entrypoint.sh && \
echo 'chmod 700 /mosquitto/data/passwd' >> /docker-entrypoint.sh && \ echo 'chmod 600 /mosquitto/data/passwd' >> /docker-entrypoint.sh && \
echo 'chmod 700 /mosquitto/config/acl' >> /docker-entrypoint.sh && \ echo 'chmod 600 /mosquitto/config/acl' >> /docker-entrypoint.sh && \
echo 'chmod -R 700 /mosquitto/log' >> /docker-entrypoint.sh && \
echo 'exec "$@"' >> /docker-entrypoint.sh && \ echo 'exec "$@"' >> /docker-entrypoint.sh && \
chmod +x /docker-entrypoint.sh chmod +x /docker-entrypoint.sh
# Initial permissions setup # Set permissions
RUN chown -R mosquitto:mosquitto /mosquitto RUN chown -R mosquitto:mosquitto /mosquitto
EXPOSE 1884 8883 EXPOSE 1883 8883
USER mosquitto USER mosquitto
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]

File diff suppressed because it is too large Load Diff