Hi, folks! I’m relatively new to self-hosting and am trying to operate slskd through a wireguard-forwarded port.

I set up an instance of slskd in a docker container with a gluetun dependency, kind like this, and everything seems to be working well, but none of the shares are actually available.

I think I may need to mess with my router, but I haven’t been able to find a clear answer on this…most of the tutorials stop at the docker compose and slskd config files. Have any of y’all gotten around this?

  • cropsec@lemmy.dbzer0.comOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 days ago

    Things seem to be working now; I can reach my slskd profile from other user profiles, browse and download shares, etc.

    I didn’t need to mess with my router at all. Instead, I made use of this guide to enable slskd’s baked-in gluetun integration with a control server.

    I am still a little confused about why I needed a control server, and it seems to be forwarding the wrong port, but things appear as they should on the client side.

    I’ll comment my compose.yaml under this. I hope this is helpful.

    • poundyourdrum@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      9 days ago

      Edit: It is now working and I will not be touching anything 🫪

      Hello my setup is pretty similar, slskd seems to be updating its port to the one provided by gluetun, and I can download from some users, but with other users i get ‘User appears to be offline’ in the logs even though soulseek says they are online.

      From a second profile on a machine without the forwarded ports, I can see my shares but cant download from them, which means theres a misconfiguration on my end right? Netcat says the port is indeed open.

      Anyone have any ideas what I might be doing wrong?

    • cropsec@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago
      services:
      
       gluetunslskd:
        image: qmcgaw/gluetun:latest
        container_name: gluetunslskd
        cap_add:
         - NET_ADMIN
        devices:
         - /dev/net/tun:/dev/net/tun
        ports:
         - 8000:8000
         - 5031:5031
        volumes:
         - ./app:/app
        environment:
         PUID: 1000
         PGID: 1000
         VPN_SERVICE_PROVIDER: protonvpn
         VPN_TYPE: wireguard
         WIREGUARD_PRIVATE_KEY: -----
         WIREGUARD_ADDRESSES: -----
         SERVER_COUNTRIES: -----
         TZ: -----
         PORT_FORWARD_ONLY: on
         VPN_PORT_FORWARDING: on
         HTTP_CONTROL_SERVER_AUTH_DEFAULT_ROLE: '{"auth":"apikey","apikey":"-----"}'
         VPN_PORT_FORWARDING_UP_COMMAND: >
          '/bin/sh -c "sed -i 's/listen_port:.*/listen_port\: {{PORTS}}/' /app/slskd.yml"'
        restart: unless-stopped
      
       slskd:
        image: slskd/slskd:latest
        container_name: slskd
        environment:
         TZ: -----
         PUID: 1000
         PGID: 1000
         SLSKD_SLSK_ADDRESS: server.slsknet.org
         SLSKD_SLSK_PORT: 2242
         SLSKD_SHARED_DIR: /music
         SLSKD_DOWNLOADS_DIR: /downloads
         SLSKD_INCOMPLETE_DIR: /incomplete
         SLSKD_USERNAME: -----
         SLSKD_PASSWORD: -----
         SLSKD_SLSK_USERNAME: -----
         SLSKD_SLSK_PASSWORD: -----
         SLSKD_VPN: true
         SLSKD_VPN_PORT_FORWARDING: true
         SLSKD_VPN_GLUETUN_URL: http://localhost:8000/
         SLSKD_VPN_GLUETUN_API_KEY: -----
        volumes:
         - ./app:/app
         - /home/user/media/music/library:/music:ro
         - /home/user/media/music/downloads:/downloads:rw
         - /home/user/media/music/incomplete:/incomplete:rw
        network_mode: 'service:gluetunslskd'
        depends_on:
         gluetunslskd:
          condition: service_healthy
        restart: unless-stopped