mirror of
https://github.com/esphome/esphome.git
synced 2025-01-19 04:20:56 +00:00
7c7032c59e
* Implement custom sensor platform * Update * Ethernet * Lint * Fix * Login page * Rename cookie secret * Update manifest * Update cookie check logic * Favicon * Fix * Favicon manifest * Fix * Fix * Fix * Use hostname * Message * Temporary commit for screenshot * Automatic board selection * Undo temporary commit * Update esphomeyaml-edge * In-dashboard editing and hosting files locally * Update esphomeyaml-edge * Better ANSI color escaping * Message * Lint * Download Efficiency * Fix gitlab * Fix * Rename extra_libraries to libraries * Add example * Update README.md * Update README.md * Update README.md * HassIO -> Hass.io * Updates * Add update available notice * Update * Fix substitutions * Better error message * Re-do dashboard ANSI colors * Only include FastLED if user says so * Autoscroll logs * Remove old checks * Use safer RedirectText * Improvements * Fix * Use enviornment variable * Use http://hassio/host/info * Fix conditions * Update platformio versions * Revert "Use enviornment variable" This reverts commit 7f038eb5d26df72f76ea9ae76774e2cec1fd7f59. * Fix * README update * Temp * Better invalid config messages * Platformio debug * Improve error messages * Debug * Remove debug * Multi Conf * Update * Better paths * Remove unused * Fixes * Lint * lib_ignore * Try fix platformio colors * Fix dashboard scrolling * Revert * Lint * Revert
79 lines
2.7 KiB
Docker
79 lines
2.7 KiB
Docker
ARG BUILD_FROM=hassioaddons/ubuntu-base:2.2.0
|
|
# hadolint ignore=DL3006
|
|
FROM ${BUILD_FROM}
|
|
|
|
# Set shell
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|
|
|
# Copy root filesystem
|
|
COPY esphomeyaml-edge/rootfs /
|
|
COPY setup.py setup.cfg MANIFEST.in /opt/esphomeyaml/
|
|
COPY esphomeyaml /opt/esphomeyaml/esphomeyaml
|
|
|
|
RUN \
|
|
# Temporarily move nginx.conf (otherwise dpkg fails)
|
|
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bkp \
|
|
# Install add-on dependencies
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
# Python for esphomeyaml
|
|
python \
|
|
python-pip \
|
|
python-setuptools \
|
|
# Python Pillow for display component
|
|
python-pil \
|
|
# Git for esphomelib downloads
|
|
git \
|
|
# Ping for dashboard online/offline status
|
|
iputils-ping \
|
|
# NGINX proxy
|
|
nginx \
|
|
\
|
|
&& mv /etc/nginx/nginx.conf.bkp /etc/nginx/nginx.conf \
|
|
\
|
|
&& pip2 install --no-cache-dir --no-binary :all: -e /opt/esphomeyaml \
|
|
\
|
|
# tzlocal for automatic timezone detection
|
|
&& pip2 install --no-cache-dir --no-binary :all: tzlocal \
|
|
\
|
|
# Change some platformio settings
|
|
&& platformio settings set enable_telemetry No \
|
|
&& platformio settings set check_libraries_interval 1000000 \
|
|
&& platformio settings set check_platformio_interval 1000000 \
|
|
&& platformio settings set check_platforms_interval 1000000 \
|
|
\
|
|
# Build an empty platformio project to force platformio to install all fw build dependencies
|
|
# The return-code will be non-zero since there's nothing to build.
|
|
&& (platformio run -d /opt/pio; echo "Done") \
|
|
\
|
|
# Cleanup
|
|
&& rm -fr \
|
|
/tmp/* \
|
|
/var/{cache,log}/* \
|
|
/var/lib/apt/lists/* \
|
|
/opt/pio/
|
|
|
|
# Build arugments
|
|
ARG BUILD_ARCH=amd64
|
|
ARG BUILD_DATE
|
|
ARG BUILD_REF
|
|
ARG BUILD_VERSION
|
|
|
|
# Labels
|
|
LABEL \
|
|
io.hass.name="esphomeyaml" \
|
|
io.hass.description="Manage and program ESP8266/ESP32 microcontrollers through YAML configuration files" \
|
|
io.hass.arch="${BUILD_ARCH}" \
|
|
io.hass.type="addon" \
|
|
io.hass.version=${BUILD_VERSION} \
|
|
maintainer="Otto Winter <contact@otto-winter.com>" \
|
|
org.label-schema.description="Manage and program ESP8266/ESP32 microcontrollers through YAML configuration files" \
|
|
org.label-schema.build-date=${BUILD_DATE} \
|
|
org.label-schema.name="esphomeyaml" \
|
|
org.label-schema.schema-version="1.0" \
|
|
org.label-schema.url="https://esphomelib.com" \
|
|
org.label-schema.usage="https://github.com/OttoWinter/esphomeyaml/tree/dev/esphomeyaml/README.md" \
|
|
org.label-schema.vcs-ref=${BUILD_REF} \
|
|
org.label-schema.vcs-url="https://github.com/OttoWinter/esphomeyaml" \
|
|
org.label-schema.vendor="esphomelib"
|