Clean, dockerized v2ray + websocket + TLS + Let's Encrypt with official and well-maintained docker containers.
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.
quackerd 542334d914 Update 'docker-compose.yml' 3 weeks ago
nginx/nginx/site-confs initial commit 4 months ago
v2ray initial commit 4 months ago
.gitignore Initial commit 4 months ago
LICENSE Initial commit 4 months ago Update '' 4 months ago
client.json rename 3 months ago
docker-compose.yml Update 'docker-compose.yml' 3 weeks ago
example.conf update setup script 3 months ago fix 3 months ago


Clean, dockerized v2ray(Websocket + TLS) + Nginx + Let’s Encrypt with official and well-maintained docker containers. No BS private containers.



Required packages

  • docker-ce.
  • docker-compose.
  • python-jinja2. A popular python template processor. Just search for jinja2 with your distro’s package manager.


  • Clone this repo.
  • Run python -h for directions.
  • For example, if your full domain name is and your email is d@e.f then run python -d bb.c -s aaa -e d@e.f
  • To start over, run git reset --hard. Don’t run this with a running build or you will lose your existing config!


  • Do NOT run the python script as root or Nginx won’t start.


After spinning up all the containers, you can use client.conf to connect. If you are setting it up on your phone, connect to subdomain.domain.tld:443 and use websocket obfuscation.


  • Make sure your subdomain.domain.tld points to the server.
  • Use docker logs nginx to check for nginx init errors. Detailed nginx logs and be found in nginx/logs/nginx
  • Use docker logs v2ray to check for v2ray init errors.