-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
81 lines (69 loc) · 2.19 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#############################################################################
FROM node:18-bookworm AS build
ARG TARGETOS
ARG TARGETARCH
ARG XO_COMMIT
ARG XO_VERSION
RUN apt-get update && apt-get install -y \
build-essential \
git \
libpng-dev \
python3-minimal \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /home/node
COPY files/proxy.patch /tmp
RUN git clone --depth 1 https://github.com/vatesfr/xen-orchestra/ && \
cd /home/node/xen-orchestra && \
git reset --hard ${XO_COMMIT} && \
rm -rf .git && \
patch -p1 --fuzz=0 --no-backup-if-mismatch < /tmp/proxy.patch && \
yarn config set network-timeout 60000 -g && \
yarn && \
yarn build
RUN cd /home/node/xen-orchestra/packages/xo-server/node_modules && \
ln -s ../../xo-server-audit \
../../xo-server-auth-github \
../../xo-server-auth-google \
../../xo-server-auth-ldap \
../../xo-server-auth-oidc \
../../xo-server-auth-saml \
../../xo-server-backup-reports \
../../xo-server-load-balancer \
../../xo-server-netbox \
../../xo-server-perf-alert \
../../xo-server-sdn-controller \
../../xo-server-test-plugin \
../../xo-server-test \
../../xo-server-transport-email \
../../xo-server-transport-icinga2 \
../../xo-server-transport-nagios \
../../xo-server-transport-slack \
../../xo-server-transport-xmpp \
../../xo-server-usage-report \
../../xo-server-web-hooks \
.
#############################################################################
FROM node:18-bookworm
MAINTAINER Michael Kötter <michael@m-koetter.de>
ARG TARGETOS
ARG TARGETARCH
ARG XO_COMMIT
ARG XO_VERSION
ENV XO_SERVER_REDIS_URI=redis://redis:6379/0
ENV XO_PROXY_ENABLED=0
ENV XO_PROXY_AUTHENTICATION_TOKEN=
ENV NODE_ENV=production
ENV XOA_PLAN=5
RUN apt-get update && apt-get install -y \
cifs-utils \
gettext-base \
libvhdi-utils \
lvm2 \
nfs-common \
xenstore-utils \
&& rm -rf /var/lib/apt/lists/*
COPY --from=build /home/node/xen-orchestra /xen-orchestra
COPY files/docker-entrypoint /docker-entrypoint
EXPOSE 80/tcp
EXPOSE 443/tcp
ENTRYPOINT [ "/docker-entrypoint" ]