aboutsummaryrefslogtreecommitdiff
path: root/services/docker/v2ray
diff options
context:
space:
mode:
Diffstat (limited to 'services/docker/v2ray')
-rw-r--r--services/docker/v2ray/Dockerfile6
-rw-r--r--services/docker/v2ray/config.json.template29
-rwxr-xr-xservices/docker/v2ray/v2ray-wrapper.sh17
3 files changed, 50 insertions, 2 deletions
diff --git a/services/docker/v2ray/Dockerfile b/services/docker/v2ray/Dockerfile
index 250a6b8..9d11474 100644
--- a/services/docker/v2ray/Dockerfile
+++ b/services/docker/v2ray/Dockerfile
@@ -1,5 +1,7 @@
FROM alpine:edge
-RUN apk add --no-cache v2ray
+RUN apk add --no-cache tini v2ray
-ENTRYPOINT [ "/usr/bin/v2ray" ]
+ADD config.json.template v2ray-wrapper.sh /app/
+
+CMD [ "tini", "--", "/app/v2ray-wrapper.sh" ]
diff --git a/services/docker/v2ray/config.json.template b/services/docker/v2ray/config.json.template
new file mode 100644
index 0000000..c10eac2
--- /dev/null
+++ b/services/docker/v2ray/config.json.template
@@ -0,0 +1,29 @@
+{
+ "inbounds": [
+ {
+ "port": 10000,
+ "listen": "0.0.0.0",
+ "protocol": "vmess",
+ "settings": {
+ "clients": [
+ {
+ "id": "@@CRUPEST_V2RAY_TOKEN@@",
+ "alterId": 0
+ }
+ ]
+ },
+ "streamSettings": {
+ "network": "ws",
+ "wsSettings": {
+ "path": "/_@@CRUPEST_V2RAY_PATH@@"
+ }
+ }
+ }
+ ],
+ "outbounds": [
+ {
+ "protocol": "freedom",
+ "settings": {}
+ }
+ ]
+} \ No newline at end of file
diff --git a/services/docker/v2ray/v2ray-wrapper.sh b/services/docker/v2ray/v2ray-wrapper.sh
new file mode 100755
index 0000000..3887a0e
--- /dev/null
+++ b/services/docker/v2ray/v2ray-wrapper.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+die() {
+ echo "$@" >&2
+ exit 1
+}
+
+[ -n "$CRUPEST_V2RAY_TOKEN" ] || die "CRUPEST_V2RAY_TOKEN is not set. It is used as password of v2ray tunnel."
+[ -n "$CRUPEST_V2RAY_PATH" ] || die "CRUPEST_V2RAY_PATH is not set. It is used as the http endpoint."
+
+sed -e "s|@@CRUPEST_V2RAY_TOKEN@@|$CRUPEST_V2RAY_TOKEN|" \
+ -e "s|@@CRUPEST_V2RAY_PATH@@|$CRUPEST_V2RAY_PATH|" \
+ "/app/config.json.template" > /app/config.json
+
+exec /usr/bin/v2ray run -c /app/config.json