Sign inSign up

ilteoood/docker-surfshark

By ilteoood

•Updated 3 months ago

Docker container with OpenVPN client preconfigured for SurfShark

Image
17

1M+

ilteoood/docker-surfshark repository overview

⁠docker-surfshark

Docker container with OpenVPN client preconfigured for SurfShark

Build only image


logo

This is a multi-arch⁠ image, updated automatically thanks to GitHub Actions⁠.

Its purpose is to provide the SurfShark VPN⁠ to all your containers.

The link is established using the OpenVPN⁠ client.

⁠Configuration

The container is configurable using 4 environment variables:

NameMandatoryDescription
SURFSHARK_USERYesUsername provided by SurfShark
SURFSHARK_PASSWORDYesPassword provided by SurfShark
SURFSHARK_COUNTRYNoThe country, supported by SurfShark, in which you want to connect
SURFSHARK_CITYNoThe city of the country in which you want to connect
CONNECTION_TYPENoThe connection type that you want to use: tcp, udp

SURFSHARK_USER and SURFSHARK_PASSWORD are provided at the bottom of this page: https://account.surfshark.com/setup/manual⁠.

SurfShark credentials

⁠Execution

You can run this image using Docker compose⁠ and the sample file⁠ provided.

version: "2"

services: 
    surfshark:
        image: ilteoood/docker-surfshark
        container_name: surfshark
        environment: 
            - SURFSHARK_USER=YOUR_SURFSHARK_USER
            - SURFSHARK_PASSWORD=YOUR_SURFSHARK_PASSWORD
            - SURFSHARK_COUNTRY=it
            - SURFSHARK_CITY=mil
            - CONNECTION_TYPE=udp
        cap_add: 
            - NET_ADMIN
        devices:
            - /dev/net/tun
        restart: unless-stopped
        dns:
            - 1.1.1.1
    service_test:
        image: byrnedo/alpine-curl
        container_name: alpine
        command: -L 'https://ipinfo.io'
        depends_on: 
            - surfshark
        network_mode: service:surfshark
        restart: always

Or you can use the standard docker run command.

sudo docker run -it --cap-add=NET_ADMIN --device /dev/net/tun --name CONTAINER_NAME -e SURFSHARK_USER=YOUR_SURFSHARK_USER -e SURFSHARK_PASSWORD=YOUR_SURFSHARK_PASSWORD ilteoood/docker-surfshark

If you want to attach a container to the VPN, you can simply run:

sudo docker run -it --net=container:CONTAINER_NAME alpine /bin/sh

If you face network connection problems, I suggest you to set a specific DNS server for each container.

Tag summary

Content type

Image

Digest

sha256:6deabc8a5…

Size

24.5 MB

Last updated

3 months ago

docker pull ilteoood/docker-surfshark