|
########################### EXTENSION FIELDS |
|
# Helps eliminate repetition of sections |
|
# Keys common to some of the core services that we always to automatically restart on failure |
|
x-common-keys-core: &common-keys-core |
|
restart: unless-stopped |
|
|
|
# TAG_DATE=$(date +%Y%m%d) docker compose --profile all build |
|
# docker compose up -d |
|
# docker compose config |
|
# docker compose pull --quiet --parallel ssserver1 sslocal1 |
|
|
|
name: nymvpn |
|
services: |
|
nymvpn1: |
|
build: |
|
context: . |
|
dockerfile: nymvpn-debian.dockerfile |
|
args: |
|
HTTP_PROXY: ${HTTP_PROXY:-} |
|
HTTPS_PROXY: ${HTTPS_PROXY:-} |
|
http_proxy: ${HTTP_PROXY:-} |
|
https_proxy: ${HTTPS_PROXY:-} |
|
image: nymvpn-debian:latest |
|
<<: *common-keys-core |
|
# profiles: ["all"] |
|
command: ["/bin/bash", "-c", "supervisord -c /etc/supervisor/supervisord.conf && sleep 10 && /usr/bin/nym-vpnc store-account --mnemonic \"$$MNEMONIC_SECRET\" && echo 'mnemonic done' && /usr/bin/nym-vpnc connect --wait --enable-two-hop --entry-gateway-country AT --exit-gateway-country CH && echo 'connect done' && tail -f /var/log/vpnd.log"] |
|
ports: |
|
- 127.0.0.1:1090:1080 |
|
devices: |
|
- /dev/net/tun |
|
cap_add: |
|
- NET_ADMIN |
|
volumes: |
|
- ./config/nymvpn1/etc:/etc/nym |
|
- ./config/nymvpn1/lib:/var/lib/nym-vpnd |
|
- ./config/nymvpn1/logs:/var/log |
|
env_file: |
|
- secrets.env |
|
ssserver1: |
|
<<: *common-keys-core |
|
image: ghcr.io/shadowsocks/ssserver-rust:latest |
|
command: ssserver -v -s 127.0.0.1:8388 -k hello-kitty -m none |
|
network_mode: service:nymvpn1 |
|
depends_on: ["nymvpn1"] |
|
sslocal1: |
|
<<: *common-keys-core |
|
image: ghcr.io/shadowsocks/sslocal-rust:latest |
|
command: sslocal -b 0.0.0.0:1080 -s 127.0.0.1:8388 -k hello-kitty -m none |
|
network_mode: service:nymvpn1 |
|
depends_on: |
|
- ssserver1 |
|
|
|
nymvpn2: |
|
image: nymvpn-debian:latest |
|
<<: *common-keys-core |
|
# profiles: ["all"] |
|
command: ["/bin/bash", "-c", "supervisord -c /etc/supervisor/supervisord.conf && sleep 10 && /usr/bin/nym-vpnc store-account --mnemonic \"$$MNEMONIC_SECRET\" && echo 'mnemonic done' && /usr/bin/nym-vpnc connect --wait --entry-gateway-country AT --exit-gateway-country FI && echo 'connect done' && tail -f /var/log/vpnd.log"] |
|
ports: |
|
- 127.0.0.1:1091:1080 |
|
devices: |
|
- /dev/net/tun |
|
cap_add: |
|
- NET_ADMIN |
|
volumes: |
|
- ./config/nymvpn2/etc:/etc/nym |
|
- ./config/nymvpn2/lib:/var/lib/nym-vpnd |
|
- ./config/nymvpn2/logs:/var/log |
|
env_file: |
|
- secrets.env |
|
ssserver2: |
|
<<: *common-keys-core |
|
image: ghcr.io/shadowsocks/ssserver-rust:latest |
|
command: ssserver -v -s 127.0.0.1:8388 -k hello-kitty -m none |
|
network_mode: service:nymvpn2 |
|
depends_on: ["nymvpn2"] |
|
sslocal2: |
|
<<: *common-keys-core |
|
image: ghcr.io/shadowsocks/sslocal-rust:latest |
|
command: sslocal -b 0.0.0.0:1080 -s 127.0.0.1:8388 -k hello-kitty -m none |
|
network_mode: service:nymvpn2 |
|
depends_on: |
|
- ssserver2 |