Kaip žinoma, WireGuard — tai VPN, kuris leidžia mums sukurti saugų tunelį tiek asmeninei tinklui, tiek naršymui. Tai suteikia mums saugų ir patikimą prieigą prie interneto iš išmaniojo telefono ar asmeninio kompiuterio.
 
 Kaip jį įdiegti švariame serveryje, galite susipažinti su šiuo straipsniu.
 
 Šiame vadove mes aptarsime, kaip įdiegti WireGuard Docker konteineryje, naudojant Docker Compose.
 
  
Bet pirmiausia reikia atnaujinti OS paketus. 
  
apt update
 Įdiegsime reikalingus paketus ir pridėsime naują saugyklą:
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 Atnaujinsime paketus su nauja saugykla:
apt update
 Dabar įdiegsime patį Docker.
apt-get install docker-ce docker-ce-cli containerd.io
 Patikrinsime versiją:
docker --version
 Patikrinsime būseną:
systemctl status docker
 
 Jei jis neįsijungė, tai įjungiame:
systemctl start docker
 Ir pridėsime prie automatinio paleidimo.
systemctl enable docker
 
Šiam projektui mums pakaks 1.25 versijos. 
  
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
 Nustatome vykdymo teises. 
chmod +x /usr/local/bin/docker-compose
 Patikriname, kaip įdiegėme Docker-Compose:
docker-compose --version
 
 Pridėsime Linux vartotoją prie docker grupės:
usermod -aG docker $USER
 Sukursime failą *.yaml  Docker-Compose.
 
 Kad ateityje galėtume orientuotis, kas mums įdiegtas, sukursime atskirą aplanką šiam projektui kataloge /opt ir pereisime į jį.
mkdir /opt/wireguard-server && cd /opt/wireguard-server
 Taip pat galite naudoti savo namų katalogą /home šiam ir kitiems projektams. 
 
 Pasinaudosime linuxserver saugykla, kad sukurtume docker-compose.yaml failą pagal nuorodą https://hub.docker.com/r/linuxserver/wireguard
 
 Sukuriame failą docker-compose.yaml arba docker-compose.yml,
vim docker-compose.yaml
 Ir pridėsime į jį šį kodą:
version: "2.1"
services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/Amsterdam
      - SERVERURL=auto
      - SERVERPORT=51820
      - PEERS=1
      - PEERDNS=1.1.1.1
      - INTERNAL_SUBNET=10.10.10.0
      - ALLOWEDIPS=0.0.0.0/0
      - LOG_CONFS=true
    volumes:
      -  /opt/wireguard-server/config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: always
 Kur:
 
 container_name: jūsų konteinerio pavadinimas;
 TZ=: laiko zona, galite pakeisti į reikiamą, bet anonimiškumui geriau palikti Europe/Amsterdam;
 SERVERPORT=: atsitiktinis portas, kuriuo veiks jūsų VPN. Jį taip pat reikia nurodyti ports.
 PEERS=: vartotojų skaičius. Jų galima didinti iki reikiamo skaičiaus;
 51820:51820/udp - praleidžiami portai.
 
 Paleidžiame mūsų skriptą (tam reikia būti kataloge, kur sukurtas mūsų failas. Šiuo atveju tai /opt/wireguard-server/):
docker-compose up -d 
 Laukiame, kol bus atsisiųsti vaizdai ir išplėsti.
 
 Patikriname:
docker-compose ps
 arba 
docker ps
 
 Taip pat tai galima padaryti viena komanda docker:
docker run -d \\ --name=wireguard \\ --cap-add=NET_ADMIN \\ --cap-add=SYS_MODULE \\ -e PUID=0 \\ -e PGID=0 \\ -e TZ=Europe/Amsterdam \\ -e SERVERURL=auto \\ -e SERVERPORT=51820 \\ -e PEERS=1 \\ -e PEERDNS=1.1.1.1 \\ -e INTERNAL_SUBNET=10.10.10.0 \\ -e ALLOWEDIPS=0.0.0.0/0 \\ -e LOG_CONFS=true \\ -p 51820:51820/udp \\ -v /opt/wireguard-server/config:/config \\ -v /lib/modules:/lib/modules \\ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \\ --restart always \\  lscr.io/linuxserver/wireguard:latest
 Kad sugeneruoti QR kodą išmaniajame telefone:
docker exec -it wireguard /app/show-peer 1
 Kur:
 
 1 - tai pirmas konfigūracija/vartotojas.
 
 Rezultatas:
 
 
 Visi konfigūracijos failai ir QR kodai yra saugomi /opt/wireguard-server/config/peer*
 
 
 Tam tereikia pakeisti direktyvą PEERS faile docker-compose.yaml, pridėti reikiamą vartotojų skaičių.
 
 Kad pakeitimai įsigaliotų, perkuriame mūsų konteinerį:
docker-compose up -d --force-recreate
 Taip pat anonimiškumui, išjungiam ping ant hosto serverio:
echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
 Ir taikome pakeitimus:
sysctl -p
 Malonaus naršymo.