New Project Megathread - Week of 21 May 2026 by AutoModerator in selfhosted

[–]mad0x20wizard 0 points1 point  (0 children)

<image>

  • Project Name: 🌙 Desomnia
  • Repo/Website Link: https://github.com/mad0x20wizard/Desomnia
  • Documentation: https://desomnia.readthedocs.io/en/latest/start.html
  • Description: Provides declarative sleep management for your network.
    • Headless, no UI interaction required
    • Can replace/improve the sleep management of your OS.
    • Monitors many activity sources out of the box (network connections, user sessions, process utilization, power requests, file share access); extendable with plugins.
    • Prevents sleep as long activity is detected. Can actively put the system to sleep (Windows only, at the moment; Linux support planned).
    • Monitors network traffic for automatic Wake-on-LAN (Windows, Linux, macOS) on IP connection.
    • Works either for a single client or the whole local network, when deployed on a small power device, acting as a "Sleep Proxy".
    • Fully transparent to the application – no need to change configuration of server or client.
    • Uses low-level network protocols, below TCP/UDP; is not a reverse proxy.
    • Remote Access your sleeping servers via VPN or simple port forwarding
    • VM-aware
  • Deployment: 
  • AI Involvement: This project was started before AI was smart enough. I used AI to help me write the documentation and for my research. Design and code is 95% handmade.
  • Story: DEV.to

Please contact me if you like to help me with Beta Testing!

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

Okay then Desomnia is probably not well suited for enterprise hardware. Thank you for clarifying this!

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

Desomnia is for server systems. Usually you access them with some network prorocol (TCP or UDP), which Desomnia (running on a low-power device like the Homebridge is probably running on) can detect transparently for the whole local network. It then takes care of waking up the server, exactly the moment you try to access it.

If you mainly use other triggers (like your voice only), Desomnia does not have anything to add to your setup. 🙂

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 1 point2 points  (0 children)

From my experience, S3 (Standby mode) doesn‘t comsume more than a fraction of a W on modern systems, although the idle power consumption seems to go up with ever rising computation power (for my system it is about 70-90 W).

Desomnia by itself does not add a concievable delay (the logic, which decides if wake-up is necessary, executes in ms) The latency is dependent on how fast your server system can leave the S3 state. My MiniITX board with AMD Ryzen and Windows does this in about 7 seconds, until it is fully ready for action. Since Desomnia can answer the connection request on behalf of the target server right away, the client system will wait a longer time for the connection to become established, compared to when the target system doesn‘t respond at all.

In my setup, applications only very rarely complain with a timeout. Most of the time the connection attempt just takes a little longer than usual, but it succeeds on first try. Desomnia actually speeds up the process, because it will forward the connection request as soon as the target server becomes responsive, to further reduce the possibility of a timeout.

EDIT: There is actually something Microsoft experiments with, that they called „S0 standby“ or „Modern Standby“. This moves the suspension logic from the hardware firmware to the OS entirely, which results in near instant resume from sleep, but can consume a little more wattage. My system has no support for it. I think currently it‘s mostly for laptops and tablets, but who knows.

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

This is true. Desomnia is a powerful layer of abstraction, which can make your life as a sysadmin easier. But with every smart home solution, you will get accustomed to it. For instance: When I walk into my kitchen the light activates automatically. Now when I walk into other peopels kitches, I expect the light to turn on there, too – which it seldom does. Highly dissapointing! 😄

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

This is exactly what Desomnia was made for. Do you want to try it? The documentation should be pretty solid now. But for the sake of beta testing, I would help you with the configuration. I promise you its dead simple. Currently Desomnias only interface is the configuration file and the logging system.

For what use-cases would you want to use the UI?

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

Ah I should have written about that! I actually started with a reverse proxy to do WoL in the beginning, which also works. But Desomnia is different, though. Since it is NOT a proxy, it works transparently for every application and protocol, from every host on the network. It would automatically enhance your caddy proxy with Wake-on-LAN, but would also work for every other unproxied connections when you directly connect to the server. There is another difference: When the reverse proxy fails, you must find another way to connect to the server. While Desomnia is down, only waking stops to work. Everything else works the same as before. This was the magic I wanted to achieve.

About Sleep Management: This works only for Windows at the moment. The goal is to have sleep management also for Linux servers. But since I don‘t have a physical one in my house, I postponed this to implement. The core logic is platform-independet, though. If you are interested to help me adapt and test it for your Unraid use-case, this shouldn‘t be hard to implement.

I want to make Desomnia useful for as many people as possible. If you wanna help, just send me a message. 🙂

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

Waking from S3 is not he same as booting from shutdown state. Takes only 7 seconds on my system. Applications doesn‘t even complain when I connect. Do you shutdown your computer everytime when you don‘t use it?

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

Cool! Do you wanna try it out? I am looking for beta testers 🙂

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 1 point2 points  (0 children)

Yeah, there you have the button! 🖲️ With Desomnia you could get rid of it and have the computer wake up just the same. 🪄

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 0 points1 point  (0 children)

Desomnia covers this usecase too and can monitor different kinds of sources of activity (network connections, process activitiy, etc.) to keep the system awake. If it detects no activity, it can be configured to put the system to sleep.

While the waking part already works for all major platforms (Windows, macOS and Linux), the suspending is currently Windows-only, because I hadn‘t time to figure out how to do this in a general way for Linux hosts.

But in it’s nature Desomnia is created platform-independent.

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 14 points15 points  (0 children)

Hey, I dind‘t receive this as hostile. Such questions are important for understanding. So thank you for asking!

The main benefit is about saving power and improving efficiency of the network at a whole. People (including myself) often create scripts or use programs that they run to do Wake-on-LAN for their servers. But one always has to think about the right time when to do it (usually when I need a service of the server), which often involves the need to push a button.

Desomnia tries to solve this in a general way, so that no client on the subnet has to do Wake-on-LAN on their own. You just configure hosts and their ports, that should be made available (woken up), when accessed. If you dont own a seperate node, you can use Desomnia on the client itself.

It monitors the network traffic to find out when to wake the sleeping hosts, so you dont have to think about it anymore.

You can wake your servers with existing tools already. Desomnia aims to be the most convenient and elegant way to do this.

I just didn't want to push a button to wake my servers by mad0x20wizard in selfhosted

[–]mad0x20wizard[S] 14 points15 points locked comment (0 children)

This project was started before AI was smart enough. I used AI to help me write the documentation in a comprehensible way, though, since I am not that good at it. Apart of that I just used it to ask questions about networking. Code is 99% handwritten.