across/docker/v2ray/Dockerfile

51 lines
1.8 KiB
Docker
Raw Normal View History

2019-11-07 22:12:45 +09:00
# Dockerfile for v2ray based alpine
# Copyright (C) 2019 Teddysun <i@teddysun.com>
# Reference URL:
# https://github.com/v2ray/v2ray-core
FROM golang:alpine AS builder
RUN set -ex \
2019-11-21 21:05:05 +09:00
&& apk add --no-cache git unzip \
2019-11-07 22:12:45 +09:00
&& mkdir -p /go/src/github.com/v2ray \
&& cd /go/src/github.com/v2ray \
&& git clone https://github.com/v2ray/v2ray-core.git \
&& cd v2ray-core \
&& go get -d \
&& cd main \
&& go build -o /go/bin/v2ray \
&& cd ../infra/control/main \
2019-11-21 21:05:05 +09:00
&& go build -o /go/bin/v2ctl \
&& git clone https://github.com/v2ray/geoip.git \
&& cd geoip \
&& go get -d \
&& go build -o /go/bin/geoip \
2019-11-21 21:12:02 +09:00
&& GEOSITE_TAG="$(wget -qO- https://api.github.com/repos/v2ray/domain-list-community/releases/latest | grep 'tag_name' | sed -E 's/.*"([^"]+)".*/\1/')" \
2019-11-21 21:05:05 +09:00
&& wget -O /go/bin/geosite.dat "https://github.com/v2ray/domain-list-community/releases/download/${GEOSITE_TAG}/dlc.dat" \
&& cd /tmp \
&& wget -O GeoLite2-Country-CSV.zip http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country-CSV.zip \
&& unzip GeoLite2-Country-CSV.zip \
&& rm -fv GeoLite2-Country-CSV.zip \
&& mv GeoLite2* geoip \
&& /go/bin/geoip --country=./geoip/GeoLite2-Country-Locations-en.csv --ipv4=./geoip/GeoLite2-Country-Blocks-IPv4.csv --ipv6=./geoip/GeoLite2-Country-Blocks-IPv6.csv \
&& mv geoip.dat /go/bin/
2019-11-07 22:12:45 +09:00
FROM alpine:latest
LABEL maintainer="Teddysun <i@teddysun.com>"
RUN set -ex \
&& apk add --no-cache tzdata ca-certificates \
2019-11-08 21:01:05 +09:00
&& rm -rf /var/cache/apk/* \
2019-11-07 22:12:45 +09:00
&& mkdir -p /etc/v2ray \
&& mkdir -p /var/log/v2ray
COPY --from=builder /go/bin/v2ray /usr/bin
COPY --from=builder /go/bin/v2ctl /usr/bin
2019-11-21 21:05:05 +09:00
COPY --from=builder /go/bin/geoip.dat /usr/bin
COPY --from=builder /go/bin/geosite.dat /usr/bin
2019-11-07 22:12:45 +09:00
COPY config.json /etc/v2ray/config.json
VOLUME /etc/v2ray
ENV TZ=Asia/Shanghai
CMD [ "v2ray", "-config", "/etc/v2ray/config.json" ]