mirror of
https://github.com/plantroon/mx-puppet-xmpp.git
synced 2024-11-14 23:41:40 +00:00
Merge branch 'master' of https://github.com/ericmigi/mx-puppet-skype
This commit is contained in:
commit
571ffc3d4d
37
Dockerfile
Normal file
37
Dockerfile
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
FROM node:latest AS builder
|
||||||
|
|
||||||
|
WORKDIR /opt/mx-puppet-skype
|
||||||
|
|
||||||
|
# run build process as user in case of npm pre hooks
|
||||||
|
# pre hooks are not executed while running as root
|
||||||
|
RUN chown node:node /opt/mx-puppet-skype
|
||||||
|
USER node
|
||||||
|
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
COPY tsconfig.json ./
|
||||||
|
COPY src/ ./src/
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
|
||||||
|
FROM node:alpine
|
||||||
|
|
||||||
|
VOLUME /data
|
||||||
|
|
||||||
|
ENV CONFIG_PATH=/data/config.yaml \
|
||||||
|
REGISTRATION_PATH=/data/skype-registration.yaml
|
||||||
|
|
||||||
|
# su-exec is used by docker-run.sh to drop privileges
|
||||||
|
RUN apk add --no-cache su-exec
|
||||||
|
|
||||||
|
WORKDIR /opt/mx-puppet-skype
|
||||||
|
COPY docker-run.sh ./
|
||||||
|
COPY --from=builder /opt/mx-puppet-skype/node_modules/ ./node_modules/
|
||||||
|
COPY --from=builder /opt/mx-puppet-skype/build/ ./build/
|
||||||
|
|
||||||
|
# change workdir to /data so relative paths in the config.yaml
|
||||||
|
# point to the persisten volume
|
||||||
|
WORKDIR /data
|
||||||
|
ENTRYPOINT ["/opt/mx-puppet-skype/docker-run.sh"]
|
||||||
|
|
39
docker-run.sh
Executable file
39
docker-run.sh
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
if [ ! -f "$CONFIG_PATH" ]; then
|
||||||
|
echo 'No config found'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
args="$@"
|
||||||
|
|
||||||
|
if [ ! -f "$REGISTRATION_PATH" ]; then
|
||||||
|
echo 'No registration found, generating now'
|
||||||
|
args="-r"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# if no --uid is supplied, prepare files to drop privileges
|
||||||
|
if [ "$(id -u)" = 0 ]; then
|
||||||
|
chown node:node /data
|
||||||
|
|
||||||
|
if find *.db > /dev/null 2>&1; then
|
||||||
|
# make sure sqlite files are writeable
|
||||||
|
chown node:node *.db
|
||||||
|
fi
|
||||||
|
if find *.log.* > /dev/null 2>&1; then
|
||||||
|
# make sure log files are writeable
|
||||||
|
chown node:node *.log.*
|
||||||
|
fi
|
||||||
|
|
||||||
|
su_exec='su-exec node:node'
|
||||||
|
else
|
||||||
|
su_exec=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
# $su_exec is used in case we have to drop the privileges
|
||||||
|
exec $su_exec /usr/local/bin/node '/opt/mx-puppet-skype/build/index.js' \
|
||||||
|
-c "$CONFIG_PATH" \
|
||||||
|
-f "$REGISTRATION_PATH" \
|
||||||
|
$args
|
||||||
|
|
Loading…
Reference in New Issue
Block a user