diff options
author | Michal Kostewicz <m.kostewicz84@gmail.com> | 2021-02-05 19:18:05 +0100 |
---|---|---|
committer | Michal Kostewicz <m.kostewicz84@gmail.com> | 2021-02-07 10:20:38 +0100 |
commit | 8337e2632686cf8d0dcf39474019370f7d3dc752 (patch) | |
tree | 7adac5b63d03aff8d81ab1250fa54d3007e51b41 /docker/Dockerfile | |
parent | Merge pull request #47 from cromefire/db-path (diff) | |
download | ferdium-server-8337e2632686cf8d0dcf39474019370f7d3dc752.tar.gz ferdium-server-8337e2632686cf8d0dcf39474019370f7d3dc752.tar.zst ferdium-server-8337e2632686cf8d0dcf39474019370f7d3dc752.zip |
Moved getferdi/server-docker into getferdi/server repository.
Add sample docker-compose file and update README.md files in root and docker directories.
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r-- | docker/Dockerfile | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..2b165f5 --- /dev/null +++ b/docker/Dockerfile | |||
@@ -0,0 +1,97 @@ | |||
1 | FROM lsiobase/alpine:3.11 | ||
2 | |||
3 | # version labels | ||
4 | ARG BUILD_DATE | ||
5 | LABEL build_version="Ferdi-server-docker Build-date:- ${BUILD_DATE}" | ||
6 | LABEL maintainer="xthursdayx" | ||
7 | |||
8 | ARG FERDI_RELEASE | ||
9 | ENV NODE_VERSION=10.16.3 | ||
10 | ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2 | ||
11 | |||
12 | # install packages | ||
13 | RUN \ | ||
14 | echo "**** installing build packages ****" && \ | ||
15 | apk add --no-cache \ | ||
16 | libcap \ | ||
17 | libstdc++ \ | ||
18 | nano && \ | ||
19 | apk add --no-cache --virtual .build-deps \ | ||
20 | binutils-gold \ | ||
21 | curl \ | ||
22 | gnupg \ | ||
23 | gcc \ | ||
24 | g++ \ | ||
25 | linux-headers \ | ||
26 | make \ | ||
27 | memcached \ | ||
28 | python && \ | ||
29 | echo "**** downloading keys ****" && \ | ||
30 | # gpg keys listed at https://github.com/nodejs/node#release-keys | ||
31 | for key in \ | ||
32 | 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ | ||
33 | FD3A5288F042B6850C66B31F09FE44734EB7990E \ | ||
34 | 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ | ||
35 | DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ | ||
36 | C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ | ||
37 | B9AE9905FFD7803F25714661B63B535A4C206CA9 \ | ||
38 | 77984A986EBC2AA786BC0F66B01FBB92821C587A \ | ||
39 | 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \ | ||
40 | 4ED778F539E3634C779C87C6D7062848A1AB005C \ | ||
41 | A48C2BEE680E841632CD4E44F07496B3EB3C1762 \ | ||
42 | B9E2F5981AA6E0CD28160D9FF13993A75599653C \ | ||
43 | ; do \ | ||
44 | gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \ | ||
45 | gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \ | ||
46 | gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \ | ||
47 | done && \ | ||
48 | echo "**** installing node ****" && \ | ||
49 | curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && \ | ||
50 | curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && \ | ||
51 | gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && \ | ||
52 | grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && \ | ||
53 | tar -xf "node-v$NODE_VERSION.tar.xz" && \ | ||
54 | cd "node-v$NODE_VERSION" && \ | ||
55 | ./configure --prefix=/usr && \ | ||
56 | make -j$(getconf _NPROCESSORS_ONLN) V= && \ | ||
57 | make install && \ | ||
58 | apk del .build-deps && \ | ||
59 | cd / && \ | ||
60 | rm -Rf "node-v$NODE_VERSION" && \ | ||
61 | rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt | ||
62 | |||
63 | RUN \ | ||
64 | apk add --no-cache --virtual .build-deps-ferdi \ | ||
65 | curl \ | ||
66 | gnupg \ | ||
67 | tar && \ | ||
68 | echo "**** installing npm ****" && \ | ||
69 | npm config set unsafe-perm true && \ | ||
70 | npm install -g npm@latest && \ | ||
71 | find /usr/lib/node_modules/npm -name test -o -name .bin -type d | xargs rm -rf && \ | ||
72 | echo "**** install ferdi server ****" && \ | ||
73 | mkdir -p /ferdi && \ | ||
74 | curl -o /ferdi/ferdi.tar.gz -L "https://github.com/getferdi/server/archive/master.tar.gz" && \ | ||
75 | echo "**** cleanup ****" && \ | ||
76 | apk del .build-deps-ferdi && \ | ||
77 | rm -rf \ | ||
78 | ${RM_DIRS} \ | ||
79 | /SHASUMS256.txt \ | ||
80 | /tmp/* \ | ||
81 | /var/cache/apk/* \ | ||
82 | /usr/share/man/* \ | ||
83 | /usr/share/doc \ | ||
84 | /root/.node-gyp \ | ||
85 | /root/.config \ | ||
86 | /usr/lib/node_modules/npm/man \ | ||
87 | /usr/lib/node_modules/npm/doc \ | ||
88 | /usr/lib/node_modules/npm/html \ | ||
89 | /usr/lib/node_modules/npm/scripts | ||
90 | |||
91 | COPY root/ / | ||
92 | |||
93 | USER root | ||
94 | |||
95 | # ports and volumes | ||
96 | EXPOSE 80 443 | ||
97 | VOLUME /app/database /app/recipes /config | ||