mirror of
/repos/node-red-pi2.git
synced 2025-12-31 07:41:31 +01:00
bootstrap service
This commit is contained in:
parent
d387762c8a
commit
ea8bf2549f
@ -2,15 +2,16 @@ FROM phusion/baseimage:0.9.16
|
|||||||
|
|
||||||
# Use baseimage-docker's init system.
|
# Use baseimage-docker's init system.
|
||||||
CMD ["/sbin/my_init"]
|
CMD ["/sbin/my_init"]
|
||||||
|
VOLUME /data
|
||||||
|
|
||||||
COPY . /tmp
|
COPY . /tmp
|
||||||
RUN NODE_VERSION=0.10.38 TIMEZONE="Europe/Amsterdam" /tmp/bootstrap
|
RUN NODE_VERSION=0.10.38 TIMEZONE="Europe/Amsterdam" /tmp/bootstrap
|
||||||
|
RUN /tmp/bootstrap-service
|
||||||
RUN su -lc /tmp/bootstrap-red red
|
RUN su -lc /tmp/bootstrap-red red
|
||||||
|
|
||||||
# Clean up APT when done.
|
# Clean up APT when done.
|
||||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
# How to plug it in
|
# How to plug it in
|
||||||
VOLUME /data
|
|
||||||
EXPOSE 1880
|
EXPOSE 1880
|
||||||
|
|
||||||
|
|||||||
17
bootstrap
17
bootstrap
@ -1,4 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
home_red=/home/red
|
||||||
|
package_json=${home_red}/package.json
|
||||||
|
|
||||||
apt-get update
|
apt-get update
|
||||||
|
|
||||||
@ -27,14 +29,10 @@ chmod +x /bin/nave
|
|||||||
|
|
||||||
/bin/nave usemain ${NODE_VERSION}
|
/bin/nave usemain ${NODE_VERSION}
|
||||||
|
|
||||||
home_red=/home/red
|
|
||||||
|
|
||||||
useradd -m -d ${home_red} -s /bin/bash red
|
useradd -m -d ${home_red} -s /bin/bash red
|
||||||
adduser red dialout
|
adduser red dialout
|
||||||
adduser red tty
|
adduser red tty
|
||||||
|
|
||||||
package_json=${home_red}/package.json
|
|
||||||
|
|
||||||
mv /tmp/sudoers /etc/sudoers
|
mv /tmp/sudoers /etc/sudoers
|
||||||
mv /tmp/package.json ${package_json}
|
mv /tmp/package.json ${package_json}
|
||||||
mkdir -p /data
|
mkdir -p /data
|
||||||
@ -44,14 +42,3 @@ npm install -g pm2
|
|||||||
|
|
||||||
mkdir -p /usr/share/doc
|
mkdir -p /usr/share/doc
|
||||||
touch /usr/share/doc/python-rpi.gpio
|
touch /usr/share/doc/python-rpi.gpio
|
||||||
|
|
||||||
mkdir -p /etc/service/node-red
|
|
||||||
|
|
||||||
echo "#!/usr/bin/env bash
|
|
||||||
cd ${home_red}
|
|
||||||
/sbin/setuser red pm2 start ${package_json}
|
|
||||||
exec /sbin/setuser red pm2 logs 2>&1
|
|
||||||
" > /etc/service/node-red/run
|
|
||||||
|
|
||||||
chmod +x /etc/service/node-red/run
|
|
||||||
|
|
||||||
|
|||||||
20
bootstrap-service
Normal file
20
bootstrap-service
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
home_red=/home/red
|
||||||
|
package_json=${home_red}/package.json
|
||||||
|
|
||||||
|
mkdir -p /etc/service/node-red
|
||||||
|
|
||||||
|
echo "#!/usr/bin/env bash
|
||||||
|
if [ -f /data/package.json ]; then
|
||||||
|
cd /data
|
||||||
|
/sbin/setuser red npm install
|
||||||
|
# just in case rebuild
|
||||||
|
/sbin/setuser red npm rebuild
|
||||||
|
fi
|
||||||
|
cd ${home_red}
|
||||||
|
/sbin/setuser red pm2 start ${package_json}
|
||||||
|
exec /sbin/setuser red pm2 logs 2>&1
|
||||||
|
" > /etc/service/node-red/run
|
||||||
|
|
||||||
|
chmod +x /etc/service/node-red/run
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user