-
Notifications
You must be signed in to change notification settings - Fork 207
/
Dockerfile
59 lines (43 loc) · 1.68 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
ARG STELLAR_XDR_IMAGE_REF
ARG STELLAR_CORE_IMAGE_REF
ARG HORIZON_IMAGE_REF
ARG FRIENDBOT_IMAGE_REF
ARG STELLAR_RPC_IMAGE_REF
FROM $STELLAR_XDR_IMAGE_REF AS stellar-xdr
FROM $STELLAR_CORE_IMAGE_REF AS stellar-core
FROM $HORIZON_IMAGE_REF AS horizon
FROM $FRIENDBOT_IMAGE_REF AS friendbot
FROM $STELLAR_RPC_IMAGE_REF AS stellar-rpc
FROM ubuntu:22.04
ARG REVISION
ENV REVISION $REVISION
EXPOSE 5432
EXPOSE 8000
EXPOSE 6060
EXPOSE 6061
EXPOSE 11625
EXPOSE 11626
ADD dependencies /
RUN /dependencies
COPY --from=stellar-xdr /usr/local/cargo/bin/stellar-xdr /usr/local/bin/stellar-xdr
COPY --from=stellar-core /usr/local/bin/stellar-core /usr/bin/stellar-core
COPY --from=horizon /go/bin/horizon /usr/bin/stellar-horizon
COPY --from=friendbot /app/friendbot /usr/local/bin/friendbot
COPY --from=stellar-rpc /bin/stellar-rpc /usr/bin/stellar-rpc
RUN adduser --system --group --quiet --home /var/lib/stellar --disabled-password --shell /bin/bash stellar;
RUN ["mkdir", "-p", "/opt/stellar"]
RUN ["touch", "/opt/stellar/.docker-ephemeral"]
RUN ["ln", "-s", "/opt/stellar", "/stellar"]
RUN ["ln", "-s", "/opt/stellar/core/etc/stellar-core.cfg", "/stellar-core.cfg"]
RUN ["ln", "-s", "/opt/stellar/horizon/etc/horizon.env", "/horizon.env"]
ADD common /opt/stellar-default/common
ADD local /opt/stellar-default/local
ADD pubnet /opt/stellar-default/pubnet
ADD testnet /opt/stellar-default/testnet
ADD futurenet /opt/stellar-default/futurenet
ADD start /
RUN ["chmod", "+x", "start"]
ARG PROTOCOL_VERSION_DEFAULT
RUN test -n "$PROTOCOL_VERSION_DEFAULT" || (echo "Image build arg PROTOCOL_VERSION_DEFAULT required and not set" && false)
ENV PROTOCOL_VERSION_DEFAULT $PROTOCOL_VERSION_DEFAULT
ENTRYPOINT ["/start"]