forked from concision/docker-windscribe-socks-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
38 lines (37 loc) · 1.73 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
version: '3'
services:
windscribe:
image: "concisions/windscribe-socks-server:latest"
# restart if stopped (see https://docs.docker.com/config/containers/start-containers-automatically/#use-a-restart-policy)
restart: always
# Windscribe utilizes iptables and requires additional permissions (see https://stackoverflow.com/a/44523905)
# However, there are security ramifications to this (see CAP_NET_ADMIN at http://man7.org/linux/man-pages/man7/capabilities.7.html)
cap_add:
- NET_ADMIN
# publicly expose SOCKS5 server
ports:
- 1080:1080
# mount temporary container storage (see https://docs.docker.com/storage/tmpfs/)
tmpfs:
- /etc/windscribe:exec
# specify configuration through environment variables
environment:
# set DNS servers; whitespace delimited (default: 1.1.1.1; see https://1.1.1.1/dns/)
WINDSCRIBE_DNS: "${WINDSCRIBE_DNS:-1.1.1.1}"
# Windscribe configuration; variable may be modified here or be sourced from '.env' file
WINDSCRIBE_USERNAME: "${WINDSCRIBE_USERNAME:?A Windscribe account username must be specified}"
WINDSCRIBE_PASSWORD: "${WINDSCRIBE_PASSWORD:?A Windscribe account password must be specified}"
# requests a specific location
WINDSCRIBE_LOCATION: "${WINDSCRIBE_LOCATION}"
# socks user 1 (if any SOCKS_USERNAME_XYZ is specified, authentication is enabled)
SOCKS_USERNAME_1: "${SOCKS_USERNAME:-}"
SOCKS_PASSWORD_1: "${SOCKS_PASSWORD:-}"
# socks user 2
SOCKS_USERNAME_2: ""
SOCKS_PASSWORD_2: ""
# or comment out the above section and specify configuration through a secrets file in .env format
# secrets:
# - windscribe_server
#secrets:
# windscribe_server:
# file: secrets.env