-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathDockerfile
49 lines (41 loc) · 1.36 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# ------------------------------------------------------
# Dockerfile
# ------------------------------------------------------
# image: hubot
# name: minddocdev/hubot
# repo: https://github.com/mind-doc/hubot
# Requires: node:alpine
# authors: development@minddoc.com
# ------------------------------------------------------
FROM node:lts-alpine
LABEL maintainer="development@minddoc.com"
# Install hubot dependencies
RUN apk update\
&& apk upgrade\
&& apk add jq\
&& npm install -g yo generator-hubot@next\
&& rm -rf /var/cache/apk/*
# Create hubot user with privileges
RUN addgroup -g 501 hubot\
&& adduser -D -h /hubot -u 501 -G hubot hubot
ENV HOME /home/hubot
WORKDIR $HOME
COPY entrypoint.sh ./
RUN chown -R hubot:hubot .
USER hubot
# Install hubot version HUBOT_VERSION
ENV HUBOT_NAME "robot"
ENV HUBOT_OWNER "MindDoc <development@minddoc.com>"
ENV HUBOT_DESCRIPTION "A robot may not harm humanity, or, by inaction, allow humanity to come to harm"
RUN yo hubot\
--adapter=slack\
--owner="$HUBOT_OWNER"\
--name="$HUBOT_NAME"\
--description="$HUBOT_DESCRIPTION"\
--defaults
ARG HUBOT_VERSION="3.3.2"
RUN jq --arg HUBOT_VERSION "$HUBOT_VERSION" '.dependencies.hubot = $HUBOT_VERSION' package.json > /tmp/package.json\
&& mv /tmp/package.json .
EXPOSE 80
ENTRYPOINT ["./entrypoint.sh"]
CMD ["--name", "$HUBOT_NAME", "--adapter", "slack"]