OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point or site-to-site connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange.
The purpose of this image is to be used as a base image for images which intend to run apps that should only have internet access through a VPN. On calling /root/start-arch-openvpn.sh, iptables will be configured and then supervisord will be started, so any derived images should configure their apps to run using supervisor.conf files, and run /root/start-arch-openvpn.sh after doing any initialisation of their own. This way, the application will only start after iptables has been configured.
Latest stable release from Arch Linux repo.
required capabilities: NET_ADMIN (--cap-add=NET_ADMIN) required volumes: /config VPN_USER=<vpn username> VPN_PASS=<vpn password> VPN_REMOTE=<vpn remote gateway> VPN_PORT=<vpn remote port> VPN_PROTOCOL=<vpn remote protocol> VPN_PROV=<pia|airvpn|custom> LAN_NETWORK<lan ipv4 network>/<cidr notation> DEBUG=<true|false> PUID=<UID for user> PGID=<GID for user>
Appreciation goes to binhex, who did the bulk of the work. I just removed privoxy.