diff --git a/Dockerfile b/Dockerfile index 46c21e9..b6d278c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,11 @@ FROM alpine ENV HOME /var/lib/tor -RUN apk add --no-cache git libevent-dev openssl-dev gcc make automake ca-certificates autoconf musl-dev && \ +RUN apk add --no-cache git libevent-dev openssl-dev gcc make automake ca-certificates autoconf musl-dev coreutils && \ mkdir -p /usr/local/src/ && \ git clone https://git.torproject.org/tor.git /usr/local/src/tor && \ cd /usr/local/src/tor && \ - git checkout $(git tag | tail -1) && \ + git checkout $(git branch -a | grep 'release' | sort -V | tail -1) && \ ./autogen.sh && \ ./configure \ --disable-asciidoc \ @@ -19,7 +19,7 @@ RUN apk add --no-cache git libevent-dev openssl-dev gcc make automake ca-cer python3 -m ensurepip && \ rm -r /usr/lib/python*/ensurepip && \ pip3 install --upgrade pip setuptools pycrypto && \ - apk del git libevent-dev openssl-dev make automake python3-dev gcc autoconf musl-dev && \ + apk del git libevent-dev openssl-dev make automake python3-dev gcc autoconf musl-dev coreutils && \ apk add --no-cache libevent openssl ADD assets/entrypoint-config.yml / diff --git a/README.md b/README.md index 67fe499..d1c12db 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,8 @@ environment: # Set mapping ports HELLO_PORTS: 80:80 - WORLD_PORTS: 8000:80 + # Multiple ports can be coma separated + WORLD_PORTS: 8000:80,8888:80,22:22 ``` diff --git a/assets/entrypoint-config.yml b/assets/entrypoint-config.yml index 688b040..92cd4fa 100644 --- a/assets/entrypoint-config.yml +++ b/assets/entrypoint-config.yml @@ -17,6 +17,6 @@ post_conf_commands: reload: files: - - /etc/torrc + - /etc/tor/torrc debug: false diff --git a/assets/onions/onions/Onions.py b/assets/onions/onions/Onions.py index 4f0c4f8..ff1dc7c 100644 --- a/assets/onions/onions/Onions.py +++ b/assets/onions/onions/Onions.py @@ -45,10 +45,11 @@ class Setup(object): self._add_host(host) if 'ports' not in self.setup[host]: self.setup[host]['ports'] = [] - port = [int(p) for p in ports.split(':')] - assert len(port) == 2 - if port not in self.setup[host]['ports']: - self.setup[host]['ports'].append(port) + ports_l = [[int(v) for v in sp.split(':')] for sp in ports.split(',')] + for port in ports_l: + assert len(port) == 2 + if port not in self.setup[host]['ports']: + self.setup[host]['ports'].append(port) def _get_ip(self): for host in self.setup: diff --git a/docker-compose.v2.yml b/docker-compose.v2.yml index 34586ee..cff8c48 100644 --- a/docker-compose.v2.yml +++ b/docker-compose.v2.yml @@ -11,7 +11,7 @@ services: - world environment: # Set mapping ports - HELLO_PORTS: 80:80 + HELLO_PORTS: 80:80,800:80,8888:80 # Set private key HELLO_KEY: | -----BEGIN RSA PRIVATE KEY----- @@ -34,7 +34,7 @@ services: # Keep keys in volumes volumes: - - ./keys:/var/lib/tor/hidden_service/ + - tor-keys:/var/lib/tor/hidden_service/ hello: image: tutum/hello-world @@ -43,3 +43,7 @@ services: world: image: tutum/hello-world hostname: world + +volumes: + tor-keys: + driver: local