From e37085c6a131eff2a1401ea26128d266d0cd9fde Mon Sep 17 00:00:00 2001 From: EphemeralDev <115334775+EphemeralDev@users.noreply.github.com> Date: Tue, 25 Feb 2025 00:07:03 -0500 Subject: [PATCH 1/3] add autostart note --- Ubuntu.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Ubuntu.md b/Ubuntu.md index 888a57c..2312f27 100644 --- a/Ubuntu.md +++ b/Ubuntu.md @@ -137,3 +137,42 @@ podman system migrate systemctl --user enable --now podman-auto-update exit ``` + +## Podman fails autostart + +In Podman < 5.3 containers may fail to autostart because user level units cannot depend on system level units (in this case `network-online.target`) + +Podman >= 5.3 should ship with a workaround user unit that can be used `podman-user-wait-network-online.service`, use that instead of the fix below. + +See [this github issue](https://github.com/containers/podman/issues/22197) for workarounds, the workaround below is what worked for me. The google.com ping can be replaced with your preferred (reachable) ip/host + +To fix this, create the following + +```bash +# ~/.config/systemd/user/network-online.service +[Unit] +Description=User-level proxy to system-level network-online.target + +[Service] +Type=oneshot +ExecStart=sh -c 'until ping -c 1 google.com; do sleep 5; done' + +[Install] +WantedBy=default.target +``` +```bash +# ~/.config/systemd/user/network-online.target +[Unit] +Description=User-level network-online.target +Requires=network-online.service +Wants=network-online.service +After=network-online.service +``` +Then enable the service `systemctl --user enable network-online.service` + +In quadlets add the following: + +```bash +[Unit] +After=network-online.target +``` -- 2.45.3 From 8e18a4b9496654c86ac33789dc06bc972c2d5818 Mon Sep 17 00:00:00 2001 From: redbeardymcgee Date: Wed, 12 Mar 2025 14:40:22 -0500 Subject: [PATCH 2/3] feat(openspeedtest): add openspeedtest server --- README.md | 1 + .../openspeedtest/openspeedtest.container | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 quadlets/openspeedtest/openspeedtest.container diff --git a/README.md b/README.md index 6dd557c..20ab518 100644 --- a/README.md +++ b/README.md @@ -205,6 +205,7 @@ that I intend to add to this repository. It is still growing, and I welcome - [ ] [Notesnook](https://github.com/streetwriters/notesnook-sync-server) - [ ] [ntop](https://www.ntop.org/) - [ ] [OpenNMS](https://www.opennms.org/) +- [x] [OpenSpeedTest](https://openspeedtest.com) - [ ] [PiHole](https://pi-hole.net/) - [ ] [Pocket ID](https://github.com/stonith404/pocket-id) - [ ] [Pod Arcade](https://www.pod-arcade.com/) diff --git a/quadlets/openspeedtest/openspeedtest.container b/quadlets/openspeedtest/openspeedtest.container new file mode 100644 index 0000000..5f86f44 --- /dev/null +++ b/quadlets/openspeedtest/openspeedtest.container @@ -0,0 +1,22 @@ +[Unit] +Description=OpenSpeedTest server + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/openspeedtest/latest +ContainerName=openspeedtest +AutoUpdate=registry + +HostName=openspeedtest +PublishPort=80:3000 +PublishPort=443:3001 + +Environment=ENABLE_LETSENCRYPT=True +Environment=DOMAIN_NAME=openspeedtest.example.com +Environment=USER_EMAIL=you@example.com -- 2.45.3 From b75b3c4bb1fdd6e2575740ddb992446fe796d51a Mon Sep 17 00:00:00 2001 From: redbeardymcgee Date: Sat, 15 Mar 2025 10:19:59 -0500 Subject: [PATCH 3/3] feat(glance): add Glance dashboard --- README.md | 1 + quadlets/glance/config/glance.yml | 12 +++++ quadlets/glance/config/home.yml | 88 +++++++++++++++++++++++++++++++ quadlets/glance/glance.container | 20 +++++++ 4 files changed, 121 insertions(+) create mode 100644 quadlets/glance/config/glance.yml create mode 100644 quadlets/glance/config/home.yml create mode 100644 quadlets/glance/glance.container diff --git a/README.md b/README.md index 20ab518..ad90af9 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ that I intend to add to this repository. It is still growing, and I welcome - [x] [Foundry VTT](https://foundryvtt.com) - [x] [FreshRSS](https://www.freshrss.org/) - [ ] [Gaseous](https://github.com/gaseous-project/gaseous-server) +- [ ] [Glance](https://github.com/glanceapp/glance) - [x] [Glances](https://nicolargo.github.io/glances/) - [ ] [glueforward](https://github.com/GeoffreyCoulaud/glueforward) - [x] [gluetun](https://github.com/qdm12/gluetun) diff --git a/quadlets/glance/config/glance.yml b/quadlets/glance/config/glance.yml new file mode 100644 index 0000000..a4902e3 --- /dev/null +++ b/quadlets/glance/config/glance.yml @@ -0,0 +1,12 @@ +server: + assets-path: /app/assets + +theme: + # Note: assets are cached by the browser, changes to the CSS file + # will not be reflected until the browser cache is cleared (Ctrl+F5) + custom-css-file: /assets/user.css + +pages: + # It's not necessary to create a new file for each page and include it, you can simply + # put its contents here, though multiple pages are easier to manage when separated + !include: home.yml diff --git a/quadlets/glance/config/home.yml b/quadlets/glance/config/home.yml new file mode 100644 index 0000000..0d172e0 --- /dev/null +++ b/quadlets/glance/config/home.yml @@ -0,0 +1,88 @@ +- name: Home + # Optionally, if you only have a single page you can hide the desktop navigation for a cleaner look + # hide-desktop-navigation: true + columns: + - size: small + widgets: + - type: calendar + first-day-of-week: monday + + - type: rss + limit: 10 + collapse-after: 3 + cache: 12h + feeds: + - url: https://selfh.st/rss/ + title: selfh.st + - url: https://ciechanow.ski/atom.xml + - url: https://www.joshwcomeau.com/rss.xml + title: Josh Comeau + - url: https://samwho.dev/rss.xml + - url: https://ishadeed.com/feed.xml + title: Ahmad Shadeed + + - type: twitch-channels + channels: + - theprimeagen + - j_blow + - piratesoftware + - cohhcarnage + - christitustech + - EJ_SA + + - size: full + widgets: + - type: group + widgets: + - type: hacker-news + - type: lobsters + + - type: videos + channels: + - UCXuqSBlHAE6Xw-yeJA0Tunw # Linus Tech Tips + - UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling + - UCsBjURrPoezykLs9EqgamOA # Fireship + - UCBJycsmduvYEL83R_U4JriQ # Marques Brownlee + - UCHnyfMqiRRG1u-2MsSQLbXA # Veritasium + + - type: group + widgets: + - type: reddit + subreddit: technology + show-thumbnails: true + - type: reddit + subreddit: selfhosted + show-thumbnails: true + + - size: small + widgets: + - type: weather + location: London, United Kingdom + units: metric # alternatively "imperial" + hour-format: 12h # alternatively "24h" + # Optionally hide the location from being displayed in the widget + # hide-location: true + + - type: markets + markets: + - symbol: SPY + name: S&P 500 + - symbol: BTC-USD + name: Bitcoin + - symbol: NVDA + name: NVIDIA + - symbol: AAPL + name: Apple + - symbol: MSFT + name: Microsoft + + - type: releases + cache: 1d + # Without authentication the Github API allows for up to 60 requests per hour. You can create a + # read-only token from your Github account settings and use it here to increase the limit. + # token: ... + repositories: + - glanceapp/glance + - go-gitea/gitea + - immich-app/immich + - syncthing/syncthing diff --git a/quadlets/glance/glance.container b/quadlets/glance/glance.container new file mode 100644 index 0000000..e6f3146 --- /dev/null +++ b/quadlets/glance/glance.container @@ -0,0 +1,20 @@ +[Unit] +Description=Glance dashboard + +[Service] +Restart=on-failure +TimeoutStartSec=900 + +[Install] +WantedBy=default.target + +[Container] +Image=docker.io/glanceapp/glance +ContainerName=glance +AutoUpdate=registry + +HostName=glance +PublishPort=8080 + +Volume=./config:/app/config + -- 2.45.3