3746 stories
·
3 followers

Meet Declarative Web Push

1 Share
Read the whole story
emrox
1 hour ago
reply
Hamburg, Germany
Share this story
Delete

Easygoing

1 Share

Easygoing

And more therapy.

Read the whole story
emrox
1 day ago
reply
Hamburg, Germany
Share this story
Delete

Self Hosting Like Its 2025

1 Share

Self-Hosting like it’s 2025

In recent years, self-hosting has emerged as a popular alternative to data-collecting, big-brother services. For a time, I must admit, I was almost addicted to trying out new software, building dashboards, and adding applications I didn’t really need. Now that my setup has remained largely the same for over a year, I wanted to take a moment to summarize what I’ve learned and highlight some software that I found particularly helpful, yet not as widespread as they could be. (And I also needed a topic for my first blog-post ever^^) . I am not trying to present anything as “the best solution.” After all, problems vary, and so do their solutions. This is not an ad for any of the softwares presented.

Container Runtimes

These days, containers have become the default for hosting, with traditional methods increasingly rare. This trend is great news for homelab enthusiasts, as containers not only simplify software deployment but also offer better performance efficiency than virtual machines. While Docker seems to be the go-to choice for almost everyone, I’m keen to explore alternative solutions. It’s worth noting that I’m focusing on using these runtimes in a home environment rather than an enterprise setting.

Docker

The original container runtime with widespread adoption, Docker is a giant in its field. Thanks to its extensive documentation, even those who aren’t highly skilled in IT can often manage to copy-paste a docker-compose.yml file from GitHub to get started. Of course, security considerations are a separate topic.

Podman

Podman is an emerging container runtime gaining attention for its rootless architecture and Docker CLI compatibility. This makes it an appealing option for those who prioritize security and want to avoid running a daemon (Or learn those topics for work). Podman allows users to manage containers with similar commands, even providing aliases so you can still use the docker command making the transition from native Docker relatively smooth. With growing community support and documentation, it’s becoming more and more accessible even if it can be frustrating at first. Also, there are Podman Quadlets, which allow you to manage containers declaratively using systemd instead of docker compose.

Kubernetes

Kubernetes For the self-hosting enthusiast who loves to tinker, Kubernetes might seem like overkill, but it’s a fascinating tool for managing your containerized applications with the elegance of managing a whole swarm of Instances. Often celebrated for orchestrating complex, scalable deployments, Kubernetes can be a rewarding challenge for those looking to bring enterprise-level capabilities into their home lab. However, the main appeal of Kubernetes at home is learning, Kubernetes is complex and most features are not needed for most users.

Managing your Containers via a Webinterface

Some users might prefer a pile of compose files on their hard disk, but for those who do not want to SSH into their server every time a container crashes and they need to check a log, there are several web-based tools to make this task more comfortable.

Portainer

Portainer I’ve been using Portainer for quite some time, and its widespread adoption in both homelab and professional environments makes it an excellent tool for learning through practical application. In my view, it stands out as the most stable web-managed container control interface available. It integrates seamlessly with Docker, Kubernetes, and even Podman. Portainer offers an open-source community edition and an enterprise version with additional features, where you can obtain three licenses for free.

Dockge

Dockge Dashboard Dockge is relatively new and created by the developer behind Uptime Kuma, which is a fantastic tool. Although it hasn’t yet reached the maturity of Portainer, Dockge truly excels in its simplicity. It’s also regularly updated, and the developer is prompt in addressing issues on GitHub.

Reverse Proxy’s and VPNs

To access your selfhosted applications from everywhere, there are two main options. Exposing them to the Internet of accessing via VPN. While a VPN is more secure, exposing services to the Internet certainly is conevenient, at least as long as you know what you are doing.

Pangolin

Pangolin Dashboard This is a fresh and innovative solution that seamlessly combines a VPN and reverse proxy into one easy-to-deploy package. It’s like having a self-hosted version of Cloudflare. All you need is a VPS or similar setup to host the ingress server, and you can add a VPN client to any environment running your applications. It even includes Crowdsec integration and basic SSO capabilities. In fact, writing this post was motivated by my enthusiasm to discuss this software. I believe it’s truly impressive and, given time, it could well become a new standard in place of existing solutions.

Nginx Proxy Manager

NPM Dashboard I’ve noticed many people using this software, but I’m not entirely fond of it. It’s a somewhat buggy frontend for Nginx designed to create TCP/UDP/HTTP(S) proxies. While it boasts a wide range of features and offers a user-friendly web interface for management, I’ve found some functions—like password protection—to be unreliable. I never managed to get it to run consistently well. That said, it was the first software of its kind that I tried, and when it does work, it performs its job quite effectively.

Caddy

Caddyfile Syntax If you’re looking to forego fancy web interfaces and prefer editing a straightforward file while having the server manage everything from proxying to HTTPS via Let’s Encrypt, then this is the option for you. However, due to the absence of a web interface, I wouldn’t recommend it for complete beginners. But if you appreciate simple UNIX-based tooling, Caddy is an excellent choice.

NetBird

NetBird Interface If you’re familiar with Tailscale, you’ll find yourself at ease with NetBird. It acts as a VPN server that handles a WireGuard network on your behalf, significantly reducing complexity. You have the option to self-host or take advantage of their generous free tier on the cloud.

Uptime Kuma

Uptime Kuma Interface If you’re looking for straightforward monitoring and the thought of setting up a full Zabbix or Grafana stack seems daunting, this software is a real lifesaver. With just one deployment, you can monitor your services and receive notifications through a wide variety of channels including…

Gotify

Gotify UI Gotify is a notification management software. You can install the app on your phone and receive notifications, which can be triggered by a simple web request. There are also integrations with lots of other self-hosted software like Uptime Kuma. Really handy.

Other useful ressources for finding additional applications for your needs

Awesome-Selfhosted

This is a big collection of all kinds of Software, however it is a bit unorganized and also lists a few applications where development has stopped entirely.

Selfh.st

This is my favourite source out of all. A great weekly newsletter with really niche recommendations and a large, sortable directory of apps. Great Site!

awesome-docker-compose

This is collection of read-to-run compose files. They are not alway the best option, because sometimes applications include breaking changes with updates, but it is quite a nice collection nonetheless.

Read the whole story
emrox
2 days ago
reply
Hamburg, Germany
Share this story
Delete

The Egg

1 Share

Author's Note: The Egg is also available in the following languages:

The Egg

By: Andy Weir

You were on your way home when you died.

It was a car accident. Nothing particularly remarkable, but fatal nonetheless. You left behind a wife and two children. It was a painless death. The EMTs tried their best to save you, but to no avail. Your body was so utterly shattered you were better off, trust me.

And that’s when you met me.

“What… what happened?” You asked. “Where am I?”

“You died,” I said, matter-of-factly. No point in mincing words.

“There was a… a truck and it was skidding…”

“Yup,” I said.

“I… I died?”

“Yup. But don’t feel bad about it. Everyone dies,” I said.

You looked around. There was nothingness. Just you and me. “What is this place?” You asked. “Is this the afterlife?”

“More or less,” I said.

“Are you god?” You asked.

“Yup,” I replied. “I’m God.”

“My kids… my wife,” you said.

“What about them?”

“Will they be all right?”

“That’s what I like to see,” I said. “You just died and your main concern is for your family. That’s good stuff right there.”

You looked at me with fascination. To you, I didn’t look like God. I just looked like some man. Or possibly a woman. Some vague authority figure, maybe. More of a grammar school teacher than the almighty.

“Don’t worry,” I said. “They’ll be fine. Your kids will remember you as perfect in every way. They didn’t have time to grow contempt for you. Your wife will cry on the outside, but will be secretly relieved. To be fair, your marriage was falling apart. If it’s any consolation, she’ll feel very guilty for feeling relieved.”

“Oh,” you said. “So what happens now? Do I go to heaven or hell or something?”

“Neither,” I said. “You’ll be reincarnated.”

“Ah,” you said. “So the Hindus were right,”

“All religions are right in their own way,” I said. “Walk with me.”

You followed along as we strode through the void. “Where are we going?”

“Nowhere in particular,” I said. “It’s just nice to walk while we talk.”

“So what’s the point, then?” You asked. “When I get reborn, I’ll just be a blank slate, right? A baby. So all my experiences and everything I did in this life won’t matter.”

“Not so!” I said. “You have within you all the knowledge and experiences of all your past lives. You just don’t remember them right now.”

I stopped walking and took you by the shoulders. “Your soul is more magnificent, beautiful, and gigantic than you can possibly imagine. A human mind can only contain a tiny fraction of what you are. It’s like sticking your finger in a glass of water to see if it’s hot or cold. You put a tiny part of yourself into the vessel, and when you bring it back out, you’ve gained all the experiences it had.

“You’ve been in a human for the last 48 years, so you haven’t stretched out yet and felt the rest of your immense consciousness. If we hung out here for long enough, you’d start remembering everything. But there’s no point to doing that between each life.”

“How many times have I been reincarnated, then?”

“Oh lots. Lots and lots. An in to lots of different lives.” I said. “This time around, you’ll be a Chinese peasant girl in 540 AD.”

“Wait, what?” You stammered. “You’re sending me back in time?”

“Well, I guess technically. Time, as you know it, only exists in your universe. Things are different where I come from.”

“Where you come from?” You said.

“Oh sure,” I explained “I come from somewhere. Somewhere else. And there are others like me. I know you’ll want to know what it’s like there, but honestly you wouldn’t understand.”

“Oh,” you said, a little let down. “But wait. If I get reincarnated to other places in time, I could have interacted with myself at some point.”

“Sure. Happens all the time. And with both lives only aware of their own lifespan you don’t even know it’s happening.”

“So what’s the point of it all?”

“Seriously?” I asked. “Seriously? You’re asking me for the meaning of life? Isn’t that a little stereotypical?”

“Well it’s a reasonable question,” you persisted.

I looked you in the eye. “The meaning of life, the reason I made this whole universe, is for you to mature.”

“You mean mankind? You want us to mature?”

“No, just you. I made this whole universe for you. With each new life you grow and mature and become a larger and greater intellect.”

“Just me? What about everyone else?”

“There is no one else,” I said. “In this universe, there’s just you and me.”

You stared blankly at me. “But all the people on earth…”

“All you. Different incarnations of you.”

“Wait. I’m everyone!?”

“Now you’re getting it,” I said, with a congratulatory slap on the back.

“I’m every human being who ever lived?”

“Or who will ever live, yes.”

“I’m Abraham Lincoln?”

“And you’re John Wilkes Booth, too,” I added.

“I’m Hitler?” You said, appalled.

“And you’re the millions he killed.”

“I’m Jesus?”

“And you’re everyone who followed him.”

You fell silent.

“Every time you victimized someone,” I said, “you were victimizing yourself. Every act of kindness you’ve done, you’ve done to yourself. Every happy and sad moment ever experienced by any human was, or will be, experienced by you.”

You thought for a long time.

“Why?” You asked me. “Why do all this?”

“Because someday, you will become like me. Because that’s what you are. You’re one of my kind. You’re my child.”

“Whoa,” you said, incredulous. “You mean I’m a god?”

“No. Not yet. You’re a fetus. You’re still growing. Once you’ve lived every human life throughout all time, you will have grown enough to be born.”

“So the whole universe,” you said, “it’s just…”

“An egg.” I answered. “Now it’s time for you to move on to your next life.”

And I sent you on your way.

Read the whole story
emrox
3 days ago
reply
Hamburg, Germany
Share this story
Delete

The Egg (By: Andy Weir)

1 Share

The Egg

By: Andy Weir

You were on your way home when you died.

It was a car accident. Nothing particularly remarkable, but fatal nonetheless. You left behind a wife and two children. It was a painless death. The EMTs tried their best to save you, but to no avail. Your body was so utterly shattered you were better off, trust me.

And that’s when you met me.

“What… what happened?” You asked. “Where am I?”

“You died,” I said, matter-of-factly. No point in mincing words.

“There was a… a truck and it was skidding…”

“Yup,” I said.

“I… I died?”

“Yup. But don’t feel bad about it. Everyone dies,” I said.

You looked around. There was nothingness. Just you and me. “What is this place?” You asked. “Is this the afterlife?”

“More or less,” I said.

“Are you god?” You asked.

“Yup,” I replied. “I’m God.”

“My kids… my wife,” you said.

“What about them?”

“Will they be all right?”

“That’s what I like to see,” I said. “You just died and your main concern is for your family. That’s good stuff right there.”

You looked at me with fascination. To you, I didn’t look like God. I just looked like some man. Or possibly a woman. Some vague authority figure, maybe. More of a grammar school teacher than the almighty.

“Don’t worry,” I said. “They’ll be fine. Your kids will remember you as perfect in every way. They didn’t have time to grow contempt for you. Your wife will cry on the outside, but will be secretly relieved. To be fair, your marriage was falling apart. If it’s any consolation, she’ll feel very guilty for feeling relieved.”

“Oh,” you said. “So what happens now? Do I go to heaven or hell or something?”

“Neither,” I said. “You’ll be reincarnated.”

“Ah,” you said. “So the Hindus were right,”

“All religions are right in their own way,” I said. “Walk with me.”

You followed along as we strode through the void. “Where are we going?”

“Nowhere in particular,” I said. “It’s just nice to walk while we talk.”

“So what’s the point, then?” You asked. “When I get reborn, I’ll just be a blank slate, right? A baby. So all my experiences and everything I did in this life won’t matter.”

“Not so!” I said. “You have within you all the knowledge and experiences of all your past lives. You just don’t remember them right now.”

I stopped walking and took you by the shoulders. “Your soul is more magnificent, beautiful, and gigantic than you can possibly imagine. A human mind can only contain a tiny fraction of what you are. It’s like sticking your finger in a glass of water to see if it’s hot or cold. You put a tiny part of yourself into the vessel, and when you bring it back out, you’ve gained all the experiences it had.

“You’ve been in a human for the last 48 years, so you haven’t stretched out yet and felt the rest of your immense consciousness. If we hung out here for long enough, you’d start remembering everything. But there’s no point to doing that between each life.”

“How many times have I been reincarnated, then?”

“Oh lots. Lots and lots. An in to lots of different lives.” I said. “This time around, you’ll be a Chinese peasant girl in 540 AD.”

“Wait, what?” You stammered. “You’re sending me back in time?”

“Well, I guess technically. Time, as you know it, only exists in your universe. Things are different where I come from.”

“Where you come from?” You said.

“Oh sure,” I explained “I come from somewhere. Somewhere else. And there are others like me. I know you’ll want to know what it’s like there, but honestly you wouldn’t understand.”

“Oh,” you said, a little let down. “But wait. If I get reincarnated to other places in time, I could have interacted with myself at some point.”

“Sure. Happens all the time. And with both lives only aware of their own lifespan you don’t even know it’s happening.”

“So what’s the point of it all?”

“Seriously?” I asked. “Seriously? You’re asking me for the meaning of life? Isn’t that a little stereotypical?”

“Well it’s a reasonable question,” you persisted.

I looked you in the eye. “The meaning of life, the reason I made this whole universe, is for you to mature.”

“You mean mankind? You want us to mature?”

“No, just you. I made this whole universe for you. With each new life you grow and mature and become a larger and greater intellect.”

“Just me? What about everyone else?”

“There is no one else,” I said. “In this universe, there’s just you and me.”

You stared blankly at me. “But all the people on earth…”

“All you. Different incarnations of you.”

“Wait. I’m everyone!?”

“Now you’re getting it,” I said, with a congratulatory slap on the back.

“I’m every human being who ever lived?”

“Or who will ever live, yes.”

“I’m Abraham Lincoln?”

“And you’re John Wilkes Booth, too,” I added.

“I’m Hitler?” You said, appalled.

“And you’re the millions he killed.”

“I’m Jesus?”

“And you’re everyone who followed him.”

You fell silent.

“Every time you victimized someone,” I said, “you were victimizing yourself. Every act of kindness you’ve done, you’ve done to yourself. Every happy and sad moment ever experienced by any human was, or will be, experienced by you.”

You thought for a long time.

“Why?” You asked me. “Why do all this?”

“Because someday, you will become like me. Because that’s what you are. You’re one of my kind. You’re my child.”

“Whoa,” you said, incredulous. “You mean I’m a god?”

“No. Not yet. You’re a fetus. You’re still growing. Once you’ve lived every human life throughout all time, you will have grown enough to be born.”

“So the whole universe,” you said, “it’s just…”

“An egg.” I answered. “Now it’s time for you to move on to your next life.”

And I sent you on your way.

Read the whole story
emrox
3 days ago
reply
Hamburg, Germany
Share this story
Delete

Could JavaScript have synchronous await?

2 Shares

In JavaScript, code has color: It is either synchronous or asynchronous. In this blog post, we explore:

  • The problems caused by that
  • How to fix them via synchronous await
  • The two downsides that prevent synchronous await from being practical
Read the whole story
emrox
3 days ago
reply
Hamburg, Germany
alvinashcraft
5 days ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories