this post was submitted on 17 Dec 2024
12 points (87.5% liked)

Selfhosted

40696 readers
524 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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

top 3 comments
sorted by: hot top controversial new old
[–] justcallmelarry@lemmy.dbzer0.com 6 points 6 days ago (1 children)

Your files are now being placed in /opt/wireguard-server/config, not in the folder you have the docker-compose file, can you see them there with ls?

If you want thee files to be created in the directory where your compose file is you should change the path in the volume like so (notice the ./ on the left side of the colon):

- ./config:/config

Volume paths are specified with local-path:container-path, so changing the part before the colon specifies where your files are, and changing the part after the colon specifies where the container sees the files

Hope this makes sense, but I just woke up, so it might not

It worked! I'm new to the self-hosting business so thanks for helping me out.

[–] sporks_a_plenty@lemmy.world 2 points 6 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