-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
55 lines (49 loc) · 1.66 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
50
51
52
53
54
55
FROM java:jre-alpine
MAINTAINER "Michel Buczynski" [email protected]
#Based on "Eugene Janusov" <[email protected]>
ENV APP_VERSION 3.0
ENV APP_BUILD ${APP_VERSION}.4291
ENV APP_PORT 8080
ENV APP_USER upsource
ENV APP_SUFFIX upsource
ENV APP_UID 2000
ENV APP_DISTNAME upsource-${APP_BUILD}
ENV APP_DISTFILE $APP_DISTNAME.zip
ENV APP_PREFIX /opt
ENV APP_DIR $APP_PREFIX/$APP_SUFFIX
ENV APP_HOME /var/lib/$APP_SUFFIX
# preparing home (data) directory and user+group
#we are with Alpine linux no /opt
RUN mkdir -p $APP_PREFIX
RUN mkdir -p $APP_DIR
RUN mkdir $APP_HOME
#in alpine linux no useradd or groupadd
RUN addgroup -S -g $APP_UID $APP_USER
#without password
RUN adduser -G $APP_USER -h $APP_HOME -u $APP_UID -D $APP_USER
RUN chown -R $APP_USER:$APP_USER $APP_HOME
# downloading and unpacking the distribution, removing bundled JVMs
# direct link https://download.jetbrains.com/upsource/upsource-3.0.4291.zip
WORKDIR $APP_PREFIX
RUN apk update && apk add wget
#to switch from busybox to bash
#RUN apk add bash && ln -sf /bin/bash /bin/sh
RUN wget -q --no-check-certificate https://download.jetbrains.com/upsource/$APP_DISTFILE && \
unzip -q $APP_DISTFILE -d $APP_DIR && \
rm $APP_DISTFILE && \
rm -rf $APP_DIR/internal/java && \
chown -R $APP_USER:$APP_USER $APP_DIR
RUN apk del wget && rm /var/cache/apk/*
USER $APP_USER
WORKDIR $APP_DIR
RUN bin/upsource.sh configure \
--backups-dir $APP_HOME/backups \
--data-dir $APP_HOME/data \
--logs-dir $APP_HOME/log \
--temp-dir $APP_HOME/tmp \
--listen-port $APP_PORT \
--base-url http://localhost:$APP_PORT/
ENTRYPOINT ["bin/upsource.sh"]
CMD ["run"]
EXPOSE $APP_PORT
VOLUME ["$APP_HOME"]