Dalam pos kali ini, saya akan membagikan tutorial lengkap cara instal server Wireguard tanpa ribet menggunakan Docker.

Sebelum lanjut, pastikan distro Linux-mu sudah terinstal Docker dan Docker-compose. Untuk cara instalnya kamu bisa mengikuti tutorial dari pos ini atau dokumentasi resmi Docker.

Cara Instal Docker & Docker-Compose

Cara menginstal Docker, salin dan jalankan perintah ini di terminal:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Setelah Docker terpasang, instal Docker-compose.

sudo curl -L "https://github.com/docker/compose/releases/download/v1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Cara konfigurasi docker-compose.yml Wireguard

Kita perlu membuat file docker-compose.yml untuk mengonfigurasi kontainer Docker Wireguard.

Kita akan menggunakan image Wireguard yang cukup populer saat ini , yaitu image dari Linuxserver.io. Ini tautan Docker Hub dan GitHub dari image tersebut.

Pertama, buat folder untuk menyimpan file docker-compose.yml.

mkdir ~/wireguard
cd ~/wireguard
nano docker-compose.yml

Setelah itu, salin dan tempel konfigurasi berikut ini pada file docker-compose.yml :

version: '2.1'
services:
  wireguard:
    image: lscr.io/linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Jakarta
      - SERVERURL=auto # opsional
      - SERVERPORT=51820 # opsional
      - PEERS=0 # opsional
      - PEERDNS=auto # opsional
      - INTERNAL_SUBNET=10.13.13.0 # opsional
      - ALLOWEDIPS=0.0.0.0/0 # opsional
    volumes:
      - ./config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

Ganti SERVERURL dengan alamat IP publik server atau biarkan saja auto agar kontainer yang menentukan IP publik server.

Cara ambil konfigurasi klien Wireguard

Setelah seluruh konfigurasi komplet, aktifkan kontainer Wireguard agar klien bisa terhubung.

docker-compose up -d

Setelah kontainer aktif, seluruh konfigurasi Wireguard disimpan pada direktori ~/wireguard/config. Jadi, kamu tinggal unduh file konfigurasi klien Wireguard yang terletak pada direktori ~/wireguard/config/peer0/peer0.conf.

Selain itu, kamu juga bisa menjalankan perintah ini untuk menampilkan kode QR konfigurasi klien Wireguard.

docker exec -it wireguard /app/show-peer <nama peer>

Cara tambahkan klien Wireguard

Untuk menambahkan klien baru, cukup ubah konfigurasi docker-compose.yml, kemudian tambahkan peer baru pada environment PEERS menjadi 0,1,2 atau laptop,hape,kantor.

Setelah itu, kamu perlu membuat ulang kontainer dengan menambahkan argumen –force-recreate seperti pada perintah berikut ini:

docker-compose up --force-recreate

Cara perbarui versi Wireguard

Disarankan untuk segera memperbarui versi Wireguard jika ada versi terbaru.

cd ~/wireguard
docker-compose pull
docker-compose up -d

Setelah memperbarui versi Wireguard, bersihkan sampah-sampah dengan menjalankan perintah berikut ini:

docker system prune

Sekian, semoga artikel ini bermanfaat, jangan lupa bagikan artikel ini. Terima kasih.