FROM golang:alpine # Set up workdir RUN mkdir -p /prod/persist WORKDIR /prod # Install OpenVPN RUN apk update RUN apk add openvpn iptables # Copy our chainloader script COPY chainloader.sh /prod/chainloader.sh RUN chmod +x /prod/chainloader.sh # Copy server and client config files COPY server.conf /prod/server.conf COPY client.conf /prod/client.conf COPY nat.sh /prod/nat.sh RUN chmod +x /prod/nat.sh # Copy client config host code and compile it COPY host.go /tmp/host.go RUN go build -o /prod/confhost /tmp/host.go # Create jail user # (We're dropping it to this user in the chainloader script) RUN adduser -u 1337 -D jail # Ready to rumble. CMD /prod/chainloader.sh