[docker] add initial files #221

This commit is contained in:
Alireza Ahmadi
2023-04-19 01:58:36 +02:00
parent 6c5b098e1d
commit 6ab99326ce
3 changed files with 26 additions and 11 deletions

17
DockerInitFiles.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
if [ $1 == "amd64" ]; then
ARCH="64";
FNAME="amd64";
elif [ $1 == "arm64" ]; then
ARCH="arm64-v8a"
FNAME="arm64";
else
ARCH="64";
FNAME="amd64";
fi
mkdir -p build/bin
wget "https://github.com/XTLS/Xray-core/releases/download/v1.8.1/Xray-linux-${ARCH}.zip"
wget "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat" -o build/bin/geoip.dat
wget "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat" -o build/bin/geosite.dat
mv xray "build/bin/xray-linux-${FNAME}"
mv main build/x-ui

View File

@@ -1,22 +1,18 @@
FROM golang:1.20-alpine AS builder
WORKDIR /app
ENV CGO_ENABLED 1
RUN apk add gcc && apk --no-cache --update add build-base
ARG TARGETARCH
RUN apk --no-cache --update add build-base gcc wget
COPY . .
RUN go build main.go
RUN env CGO_ENABLED=1 go build main.go
RUN ./DockerInitFiles.sh "$TARGETARCH"
FROM alpine
LABEL org.opencontainers.image.authors="alireza7@gmail.com"
ENV TZ=Asia/Tehran
WORKDIR /app
RUN apk add ca-certificates tzdata && mkdir bin
RUN apk add ca-certificates tzdata
# Download latest rule files
ADD https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat \
https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat \
bin/
COPY --from=builder /app/main /app/x-ui
COPY --from=builder /app/build/ /app/
VOLUME [ "/etc/x-ui" ]
CMD [ "./x-ui" ]

View File

@@ -7,4 +7,6 @@ services:
- $PWD/db/:/etc/x-ui/
- $PWD/cert/:/root/cert/
restart: unless-stopped
network_mode: host
ports:
- 54321:54321
- 443:443