Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/erred/wggo

wireguard-go in a container
https://github.com/erred/wggo

container wireguard wireguard-go

Last synced: 3 months ago
JSON representation

wireguard-go in a container

Awesome Lists containing this project

README

        

# wggo

[wireguard-go](https://git.zx2c4.com/wireguard-go/about/) in a container, becuase `WG_I_PREFER_BUGGY_USERSPACE_TO_POLISHED_KMOD=1`

[![License](https://img.shields.io/github/license/seankhliao/wggo.svg?style=flat-square)](LICENSE)
![Version](https://img.shields.io/github/v/tag/seankhliao/wggo?sort=semver&style=flat-square)
[![Docker](https://img.shields.io/docker/pulls/seankhliao/wggo?style=flat-square)](https://hub.docker.com/r/seankhliao/wggo)

## About

I ~~needed~~ wanted to run a wireguard VPN server on a system without access to kernel modules (GKE coos)

Based on [activeeos/wireguard-docker](https://github.com/activeeos/wireguard-docker), kernel module version of wireguard in a container, which you should probably be using

## Usage

### Prerequisites

- `CAP_NET_ADMIN` and `/dev/net/tun`
- A `wg-quick` config file

### Run

1. mount conf file into `/etc/wireguard/`, (name doesn't matter)
2. expose the port as specified in conf file

```sh
docker run --rm \
--cap-add=NET_ADMIN \
-v /dev/net/tun:/dev/net/tun \
-v /abs/path/to/wg-quick/conf/file:/etc/wireguard/name_of_interface.conf \
-p port:expose \
seankhliao/wggo
```

### Build

With docker:

```sh
docker build \
.
```

## Links

- [activeeos/wireguard-docker](https://github.com/activeeos/wireguard-docker): kernel mod version