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?

you are viewing a single comment's thread
view the rest of the comments
[–] [S] 1 point 1 month ago (2 children)

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.

  • source
  • hideshow 2 child comments
  • [–] 2 points 1 month ago* (last edited 1 month 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?

  • source
  • parent
  • [–] [S] 1 point 1 month 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
    
  • source
  • parent