-
Notifications
You must be signed in to change notification settings - Fork 146
/
Copy pathDockerfile
52 lines (38 loc) · 1.56 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
ARG FIVEM_NUM=12817
ARG FIVEM_VER=12817-0ec3c8f9f6e715e65beca971712384d0300a553a
ARG DATA_VER=0e7ba538339f7c1c26d0e689aa750a336576cf02
FROM spritsail/alpine:3.19 as builder
ARG FIVEM_VER
ARG DATA_VER
WORKDIR /output
RUN wget -O- https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/${FIVEM_VER}/fx.tar.xz \
| tar xJ --strip-components=1 \
--exclude alpine/dev --exclude alpine/proc \
--exclude alpine/run --exclude alpine/sys \
&& mkdir -p /output/opt/cfx-server-data /output/usr/local/share \
&& wget -O- http://github.com/citizenfx/cfx-server-data/archive/${DATA_VER}.tar.gz \
| tar xz --strip-components=1 -C opt/cfx-server-data \
\
&& apk -p $PWD add tini
ADD server.cfg opt/cfx-server-data
ADD entrypoint usr/bin/entrypoint
RUN chmod +x /output/usr/bin/entrypoint
#================
FROM scratch
ARG FIVEM_VER
ARG FIVEM_NUM
ARG DATA_VER
LABEL maintainer="Spritsail <[email protected]>" \
org.label-schema.vendor="Spritsail" \
org.label-schema.name="FiveM" \
org.label-schema.url="https://fivem.net" \
org.label-schema.description="FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers." \
org.label-schema.version=${FIVEM_NUM} \
io.spritsail.version.fivem=${FIVEM_VER} \
io.spritsail.version.fivem_data=${DATA_VER}
COPY --from=builder /output/ /
WORKDIR /config
EXPOSE 30120
# Default to an empty CMD, so we can use it to add seperate args to the binary
CMD [""]
ENTRYPOINT ["/sbin/tini", "--", "/usr/bin/entrypoint"]