diff --git a/Dockerfile b/Dockerfile index 32939f95..4ee863fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,27 @@ -FROM node:latest +FROM izone/arm:node +# Set env variables ENV NODE_ENV production ENV MM_PORT 8080 + WORKDIR /opt/magic_mirror -COPY . . -COPY /modules unmount_modules -COPY /config unmount_config +# Cache node_modules +COPY package.json /opt/magic_mirror +RUN npm install -RUN apt-get update \ - && apt-get -qy install tofrodos dos2unix \ - && chmod -R 777 vendor \ - && npm install \ - && cd vendor \ - && npm install \ - && cd .. \ - && dos2unix docker-entrypoint.sh \ - && chmod +x docker-entrypoint.sh +# Copy all needed files +COPY . /opt/magic_mirror + +# Save/Cache config and modules folder for docker-entrypoint +COPY /modules /opt/magic_mirror/unmount_modules +COPY /config /opt/magic_mirror/unmount_config + +# Convert docker-entrypoint.sh to unix format and grant execution privileges +RUN apk update \ + && apk add dos2unix --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted \ + && dos2unix docker-entrypoint.sh \ + && chmod +x docker-entrypoint.sh EXPOSE $MM_PORT ENTRYPOINT ["/opt/magic_mirror/docker-entrypoint.sh"] diff --git a/README.md b/README.md index 4fd480bf..29e5b65f 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ docker run -d \ --volume ~/magic_mirror/config:/opt/magic_mirror/config \ --volume ~/magic_mirror/modules:/opt/magic_mirror/modules \ --name magic_mirror \ - MichMich/MagicMirror + michmich/magicmirror ``` | **Volumes** | **Description** | diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 5d37b4a6..91d7ebc7 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh if [ ! -f /opt/magic_mirror/modules ]; then cp -R /opt/magic_mirror/unmount_modules/. /opt/magic_mirror/modules