I’m following a guide on youtube on how to set up Wireguard in docker compose so I can access my server outside my home network. When I start the container, it’s supposed to create a config directory but when I ls, theres no config directory. Can somebody help me out? Here’s the docker-compose.yml.

version: "2.1" services: wireguard: image: linuxserver/wireguard container_name: wireguard cap_add: - NET_ADMIN environment: - PUID=1000 - PGID=1000 - TZ=Asia/Singapore - SERVERURL=auto #optional - SERVERPORT=51820 #optional - PEERS=1 #optional - PEERDNS=auto #optional - INTERNAL_SUBNET=10.13.13.0 #optional volumes: - /opt/wireguard-server/config:/config - /lib/modules:/lib/modules ports: - 51820:51820/udp sysctls: - net.ipv4.conf.all.src_valid_mark=1 restart: unless-stopped

  • sporks_a_plenty@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 days ago

    I’m not a docker pro, so I may be wrong…

    It looks to me like your syntax is formatted as if you’re assigning an external bind mount, not a volume.

    IIRC, volume mounts are <name>:<path_inside_container>, and docker will automatically pre-pend the service name to the vol name (e. g. /opt/docker/volumes/wireguard-<name>)

    So, you could try something like:

    volumes:
          - wireguard-server-config:/config
          - wireguard-modules:/lib/modules
    

    ref: https://docs.docker.com/engine/storage/volumes/#use-a-volume-with-docker-compose