• 0 Posts
  • 4 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle


  • Thanks for sharing. I recall hearing about this before. After reading this thread I’ve been trying to vend some of my selfhosted apps over yggdrasil. The documentation is difficult to find. A good tutorial would be really useful. Here are my two biggest stumbling blocks headaches:

    1. ipv6 headache: I had to update my server host binding from 0.0.0.0 to :: (from ipv4 to ipv6). Apparently ipv4 still works but now ipv6 also works. This was the biggest blocker for me gaining access to my apps over yggdrasil using ipv6.
    2. yggdrasil.conf headache: ipv6 syntax issues (apparently I need to learn me some ipv6 stuff) You need to put ipv6 ip addresses in brackets. This is an excerpt from my Listen attribute in my yggdrasil.conf file.
      # Listen addresses for incoming connections. You will need to add
      # listeners in order to accept incoming peerings from non-local nodes.
      # Multicast peer discovery will work regardless of any listeners set
      # here. Each listener should be specified in URI format as above, e.g.
      # tls://0.0.0.0:0 or tls://[::]:0 to listen on all interfaces.
    Listen: [
              tls://[::]:8000
              tls://[::]:8080
    ]
    

    I also downloaded an yggdrasil vpn app for Android and was able to access both apps with Android after adding a peer connection in the settings. Later, I added my Android public key to the AllowedPublicKeys to lock down my apps to be only accessible to my client.

    Thanks @wgs for the tip! 🏆


  • Perfect use case. pipx is awesome for Python! Glad you found a great easy solution.

    Is it over engineering or error prone?

    Nope. pipx is like a big guard rail to keep you from doing error prone things with system Python.

    In these examples we’ll assume your venv is at /home/TrueBlue/project/venv

    Is there another way…?

    • shebang: Set your #! to point at your Python venv runtime
      #!/home/TrueBlue/project/venv python3
      Now you can just run your Python file and it’ll use the correct Python runtime.
    • poetry can be useful for running personal projects using poetry run.
    • In linux you can use an alias to create to call your venv Python runtime with your package.

    e.g. I want to use a new command named sdf to call my app.

    alias sdf="/home/TrueBlue/project/venv/bin/python3 my_app.py"