You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
#
|
|
# Dockerfile for shadowsocks-libev
|
|
#
|
|
|
|
FROM alpine
|
|
MAINTAINER kev <noreply@datageek.info>
|
|
|
|
ARG SS_VER=3.0.2
|
|
ARG SS_URL=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$SS_VER/shadowsocks-libev-$SS_VER.tar.gz
|
|
|
|
ENV SERVER_ADDR 0.0.0.0
|
|
ENV SERVER_PORT 8388
|
|
ENV PASSWORD=
|
|
ENV METHOD aes-256-cfb
|
|
ENV TIMEOUT 300
|
|
ENV DNS_ADDR 8.8.8.8
|
|
ENV DNS_ADDR_2 8.8.4.4
|
|
|
|
RUN set -ex && \
|
|
apk add --no-cache --virtual .build-deps \
|
|
autoconf \
|
|
build-base \
|
|
curl \
|
|
libev-dev \
|
|
libtool \
|
|
linux-headers \
|
|
udns-dev \
|
|
libsodium-dev \
|
|
mbedtls-dev \
|
|
pcre-dev \
|
|
tar \
|
|
udns-dev && \
|
|
cd /tmp && \
|
|
curl -sSL $SS_URL | tar xz --strip 1 && \
|
|
./configure --prefix=/usr --disable-documentation && \
|
|
make install && \
|
|
cd .. && \
|
|
|
|
runDeps="$( \
|
|
scanelf --needed --nobanner /usr/bin/ss-* \
|
|
| awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
|
|
| xargs -r apk info --installed \
|
|
| sort -u \
|
|
)" && \
|
|
apk add --no-cache --virtual .run-deps $runDeps && \
|
|
apk del .build-deps && \
|
|
rm -rf /tmp/*
|
|
|
|
USER nobody
|
|
|
|
EXPOSE $SERVER_PORT/tcp $SERVER_PORT/udp
|
|
|
|
CMD ss-server -s $SERVER_ADDR \
|
|
-p $SERVER_PORT \
|
|
-k ${PASSWORD:-$(hostname)} \
|
|
-m $METHOD \
|
|
-t $TIMEOUT \
|
|
--fast-open \
|
|
-d $DNS_ADDR \
|
|
-d $DNS_ADDR_2 \
|
|
-u
|