-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
61 lines (49 loc) · 1.84 KB
/
Dockerfile
File metadata and controls
61 lines (49 loc) · 1.84 KB
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
56
57
58
59
60
# first
#
# docker build -t deployable/sinopia .
# repeat
#
# docker build --build-arg DOCKER_BUILD_PROXY=http://10.8.8.8:3142 -t deployable/sinopia . && docker stop sinopia && docker rm sinopia && docker run -v sinopia-storage:/sinopia/storage:rw -p 4873:4873 -d --name sinopia --restart always deployable/sinopia
FROM node:8.9-alpine
ARG DOCKER_BUILD_PROXY=''
RUN set -uex; \
adduser -D -g "" sinopia; \
adduser -D -g "" -G sinopia sinopiar; \
mkdir -p /sinopia/storage; \
chown sinopia sinopia/storage; \
chmod 755 sinopia/storage;
# Use a newer sinopia than release
#RUN git clone https://github.com/rlidwka/sinopia#3f55fb4c0c6685e8b22796cce7b523bdbfb4019e
# `./make.sh download`
#ADD sinopia-3f55fb4c0c6685e8b22796cce7b523bdbfb4019e /sinopia
COPY sinopia-3f55fb4c0c6685e8b22796cce7b523bdbfb4019e /sinopia
ADD /config.yaml /sinopia/config.yaml
RUN set -uex; \
export http_proxy=${http_proxy:-${DOCKER_BUILD_PROXY}}; \
apk update; \
apk add g++ python-dev make; \
export http_proxy=; \
cd /sinopia; \
npm install js-yaml; \
./node_modules/.bin/js-yaml package.yaml > package.json; \
rm npm-shrinkwrap.json; \
npm install -d --production; \
rm -rf ~/.npm; \
apk del --purge python python-dev g++ musl-dev libc-dev gcc; \
rm -rf /var/cache/apk;
RUN set -uex; \
touch /sinopia/htpasswd; \
chown -R sinopia:sinopia /sinopia; \
chown -R sinopiar:sinopia /sinopia/storage; \
chmod 755 /sinopia/bin/sinopia; \
chown sinopiar:sinopia /sinopia/htpasswd; \
chmod 640 /sinopia/htpasswd; \
find /sinopia -type d -exec chmod 755 {} +; \
find /sinopia -type f -exec chmod o+r {} +; \
find /sinopia -type f -exec chmod g+r {} +;
ADD /entrypoint.sh /docker-entrypoint.sh
USER sinopiar
EXPOSE 4873
VOLUME ["/sinopia/storage"]
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD [""]