-
Notifications
You must be signed in to change notification settings - Fork 8
/
Dockerfile
44 lines (40 loc) 路 1.51 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
# build front end
FROM node:buster
RUN \
git clone --recurse-submodules https://github.com/geph-official/gephgui-wry.git /gephgui-wry && \
cd /gephgui-wry/gephgui && npm install && npm run build
# build geph4-client and gephgui-wry, fetch blobs
FROM rust:buster
COPY --from=0 /gephgui-wry /gephgui-wry
RUN \
mkdir /build && \
apt update && apt install -y \
libgtk-3-dev libappindicator3-dev libwebkit2gtk-4.0-dev \
librsvg2-dev libssl-dev patchelf strace libpango1.0-dev \
libgdk-pixbuf2.0-dev gcc clang g++ zlib1g-dev libmpc-dev \
libmpfr-dev libgmp-dev build-essential && \
git clone https://github.com/geph-official/geph4-client.git /geph4-client && \
git clone https://github.com/geph-official/gephgui-pkg.git /gephgui-pkg && \
cd /geph4-client && cargo build --release && \
cd /gephgui-wry && cargo build --release && \
mv /geph4-client/target/release/geph4-client /build && \
mv /gephgui-wry/target/release/gephgui-wry /build && \
mv /gephgui-pkg/blobs/linux-x64/* /build && \
chmod -R +x /build
# final image
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:jammy
ENV DEBIAN_FRONTEND="noninteractive" CUSTOM_PORT="8080"
EXPOSE 9909 9910 8080
COPY --from=1 /build/ /app/
COPY root/ /
RUN \
bash /install_libssl1.1.sh &&\
cd /app &&\
for file in *; do ln -s ./$file /usr/bin/$file; done &&\
apt update && apt install -y \
libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev libssl1.1 && \
apt-get clean && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*