-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathDockerfile
38 lines (27 loc) · 1.04 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
FROM node:18.17-alpine
RUN apk add nss git openjdk8-jre openjdk8 maven python3 alpine-sdk libxml2-dev yarn g++ gcc bash raptor2 jq curl
WORKDIR /synbiohub
COPY . .
RUN rm -rf .git
RUN cd java && mvn package
RUN git config --global url."https://".insteadOf git://
RUN yarn install
RUN mkdir /mnt/data && \
mkdir /mnt/data/backup && \
mkdir /mnt/data/uploads && \
mkdir /mnt/data/logs && \
mkdir /mnt/data/icons && \
mkdir /mnt/config
COPY docker/config.local.json /mnt/config/config.local.json
COPY docker/healthcheck.js healthcheck.js
COPY docker/entry.sh entry.sh
RUN ln -s /mnt/config/config.local.json ./config.local.json && \
touch /mnt/data/synbiohub.sqlite && ln -s /mnt/data/synbiohub.sqlite ./synbiohub.sqlite && \
ln -s /mnt/data/backup . && \
ln -s /mnt/data/uploads . && \
ln -s /mnt/data/logs . && \
ln -s /mnt/data/icons public/.
RUN apk del git openjdk8 maven alpine-sdk libxml2-dev g++ gcc raptor2 jq
EXPOSE 7777
HEALTHCHECK --start-period=60s CMD ["node", "healthcheck.js"]
ENTRYPOINT ["./entry.sh"]