github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/bin/docker/Dockerfile (about)

     1  FROM postgres:15 as postgres
     2  MAINTAINER Filippov Alex <support@e154.ru>
     3  
     4  FROM debian:12-slim
     5  RUN apt-get update \
     6      && apt-get install -y --no-install-recommends libpq5 ca-certificates iputils-ping
     7  RUN update-ca-certificates
     8  COPY --from=postgres /usr/lib/postgresql/15/bin/pg_dump /usr/local/bin
     9  COPY --from=postgres /usr/lib/postgresql/15/bin/pg_restore /usr/local/bin
    10  ENTRYPOINT ["/server"]
    11  USER nobody
    12  ADD . /
    13  
    14  EXPOSE 3000
    15  EXPOSE 3001
    16  EXPOSE 3002
    17  EXPOSE 3003
    18  EXPOSE 1883
    19  EXPOSE 8080
    20  EXPOSE 8443
    21  
    22  ENV PG_USER="smart_home"
    23  ENV PG_PASS="smart_home"
    24  ENV PG_HOST="postgres"
    25  ENV PG_NAME="smart_home"
    26  ENV PG_PORT="5432"
    27  ENV PG_DEBUG="false"
    28  ENV PG_MAX_IDLE_CONNS="10"
    29  ENV PG_MAX_OPEN_CONNS="50"
    30  ENV PG_CONN_MAX_LIFE_TIME="30"
    31  ENV AUTO_MIGRATE="true"
    32  ENV SNAPSHOT_DIR=""
    33  ENV MODE="release"
    34  ENV MQTT_PORT="1883"
    35  ENV MQTT_RETRY_INTERVAL="20"
    36  ENV MQTT_RETRY_CHECK_INTERVAL="20"
    37  ENV MQTT_SESSION_EXPIRY_INTERVAL="0"
    38  ENV MQTT_SESSION_EXPIRE_CHECK_INTERVAL="0"
    39  ENV MQTT_QUEUE_QOS_0_MESSAGES="true"
    40  ENV MQTT_MAX_INFLIGHT="32"
    41  ENV MQTT_MAX_AWAIT_REL="100"
    42  ENV MQTT_MAX_MSG_QUEUE="1000"
    43  ENV MQTT_DELIVER_MODE="1"
    44  ENV LOGGING="true"
    45  ENV COLORED_LOGGING="false"
    46  ENV ALEXA_HOST=""
    47  ENV ALEXA_PORT="3003"
    48  ENV API_HTTP_PORT="3001"
    49  ENV API_HTTPS_PORT="3002"
    50  ENV API_SWAGGER="true"
    51  ENV API_GZIP="false"
    52  ENV LANG="EN"
    53  ENV ROOT_MODE="false"
    54  ENV DOMAIN="localhost"
    55  ENV PPROF="false"
    56  ENV ROOT_SECRET=""
    57  
    58  ENV GATE_API_HTTP_PORT="8080"
    59  ENV GATE_API_HTTPS_PORT="8443"
    60  ENV GATE_API_DEBUG="false"
    61  ENV GATE_API_GZIP="true"
    62  ENV GATE_DOMAIN="localhost"
    63  ENV GATE_PPROF="false"
    64  ENV GATE_HTTPS="false"
    65  ENV GATE_PROXY_TIMEOUT="5"
    66  ENV GATE_PROXY_IDLE_TIMEOUT="10"
    67  ENV GATE_PROXY_SECRET_KEY=""
    68  
    69  VOLUME $APP_DIR/snapshots
    70  VOLUME $APP_DIR/data
    71  VOLUME $APP_DIR/conf