Networking & Remote Access:#Tailscale (non-Docker), love its SSH agent and magic DNS features. #NetworkSecurity
Security & Monitoring
Ad Blocking:#AdGuardHome (non-Docker). Previously used PiHole but find AdGuardHome slightly faster. #PrivacyTools
Server Monitoring:#Beszel (non-Docker). Tried Grafana/Prometheus/Alertmanager (accessible but overkill) and Netdata (poor screen reader accessibility). Beszel isn't perfect but best compromise so far. #ServerMonitoring
RSS Feeds:#Miniflux (non-Docker), excellent accessibility. Originally wanted better podcast support but other options had major accessibility issues. #RSSReader
IRC Client:#TheLounge (non-Docker). Some accessibility issues but best I've found so far for always-connected IRC. #IRCClient
Read Later Service:#Wallabag (Docker). Biggest issue is Wallabagger Chrome extension doesn't work for me yet. #ReadItLater
Notifications & Development Workflow
Notifications via: #Ntfy (Docker) and Zoho's ZeptoMail (#Zoho)
Development Environment: Mostly using VSCode connected to my server via Remote-SSH extension. #VSCodeRemote
Accessibility Focus ♿️🖥️
Accessibility heavily influences my choices—I use a screen reader full-time (#ScreenReader), so I prioritize services usable without sight (#InclusiveDesign, #DigitalAccessibility). Always open to discussing accessibility experiences or recommendations!
Habit trackers like Beaver Habit Tracker (#HabitTracking): Accessibility issues made it unusable for me.
I don't really have a media collection, so no Plex or Jellyfin here (#MediaServer)—but I'm always open to suggestions! I've gotten a bit addicted to exploring new self-hosted services! 😄
What's your setup like? Any cool services you'd recommend I try?
#SelfHosted#LinkAce Bookmark Manager Running, but Unable to Check for Updates or Generate a Cron Token
Hi all. Hoping someone in the #SelfHosting community can help here. I'm running LinkAce in #Docker behind non-Dockerized #Caddy and #Authelia, and most things are working, but I'm seeing "Could not check for updates" at the bottom of each page, and when I tried to generate a cron token, nothing happened except for the generate button graying out. I am seeing one or two 404 errors in my logs, but I don't know if that's causing the problem or not. I don't know much about #PHP applications.
Logs
2025-02-22 23:25:26,460 INFO supervisord started with pid 1<br></br>2025-02-22 23:25:27,465 INFO spawned: 'php-fpm' with pid 8<br></br>2025-02-22 23:25:27,467 INFO spawned: 'caddy' with pid 9<br></br>[22-Feb-2025 23:25:27] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root<br></br>[22-Feb-2025 23:25:27] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root<br></br>[22-Feb-2025 23:25:27] NOTICE: fpm is running, pid 8<br></br>[22-Feb-2025 23:25:27] NOTICE: ready to handle connections<br></br>{"level":"info","ts":1740266727.5264525,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}<br></br>{"level":"info","ts":1740266727.5280282,"msg":"adapted config to JSON","adapter":"caddyfile"}<br></br>{"level":"warn","ts":1740266727.5280406,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":2}<br></br>{"level":"info","ts":1740266727.529092,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}<br></br>{"level":"warn","ts":1740266727.529331,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv0","http_port":80}<br></br>{"level":"info","ts":1740266727.5294206,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x40000bab00"}<br></br>{"level":"warn","ts":1740266727.530186,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}<br></br>{"level":"warn","ts":1740266727.530195,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}<br></br>{"level":"info","ts":1740266727.530198,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}<br></br>{"level":"info","ts":1740266727.5412574,"msg":"autosaved config (load with --resume flag)","file":"/home/www-data/.config/caddy/autosave.json"}<br></br>{"level":"info","ts":1740266727.541271,"msg":"serving initial configuration"}<br></br>{"level":"info","ts":1740266727.5477707,"logger":"tls","msg":"cleaning storage unit","storage":"FileStorage:/home/www-data/.local/share/caddy"}<br></br>{"level":"info","ts":1740266727.5541356,"logger":"tls","msg":"finished cleaning storage units"}<br></br>2025-02-22 23:25:28,555 INFO success: php-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)<br></br>2025-02-22 23:25:28,555 INFO success: caddy entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)<br></br>::1 - 22/Feb/2025:23:25:34 +0000 "GET /index.php" 200<br></br>::1 - 22/Feb/2025:23:25:34 +0000 "GET /index.php" 404<br></br>
## LINKACE CONFIGURATION<br></br><br></br># The app key is generated later, please leave it like that<br></br>APP_KEY=redacted<br></br>APP_ENV=development<br></br><br></br>## Configuration of the database connection<br></br>## Attention: Those settings are configured during the web setup, please do not modify them now.<br></br># Set the database driver (mysql, pgsql, sqlsrv, sqlite)<br></br>DB_CONNECTION=mysql<br></br># Set the host of your database here<br></br>DB_HOST=linkace_db<br></br># Set the port of your database here<br></br>DB_PORT=3306<br></br># Set the database name here<br></br>DB_DATABASE=linkace<br></br># Set both username and password of the user accessing the database<br></br>DB_USERNAME=linkace<br></br># Wrap your password into quotes (") if it contains special characters<br></br>DB_PASSWORD=redacted<br></br><br></br>## Redis cache configuration<br></br># Set the Redis connection here if you want to use it<br></br>REDIS_HOST=linkace_redis<br></br>REDIS_PASSWORD=redacted<br></br>REDIS_PORT=6379<br></br>APP_DEBUG=true<br></br><br></br># SSO configuration<br></br>SSO_ENABLED=true<br></br>SSO_OIDC_ENABLED=true<br></br>SSO_REGISTRATION_ENABLED=true<br></br>REGULAR_LOGIN_DISABLED=true<br></br>SSO_OIDC_BASE_URL=https://auth.laniecarmelo.tech/ # Your Authelia base URL<br></br>SSO_OIDC_CLIENT_ID=linkace<br></br>SSO_OIDC_CLIENT_SECRET='redacted'<br></br>SSO_OIDC_SCOPES=openid,profile,email<br></br>
Help Needed with Cloudflare Zero Trust, Pages, and Workers for ReactFlux + MiniFlux Setup
Hi everyone,
I'm new to #Cloudflare and have been trying to set up a #SelfHosted project on my #RaspberryPi 500. I'm mostly self-taught, so I apologize if I misunderstand anything or miss important details. Here's my situation:
Current Setup
I'm running the self-hosted #RSS feed reader#MiniFlux on my Raspberry Pi 500 (#ArchLinuxARM, installed via Pacman).
My #CloudflareAccess application is configured to allow all origins, methods, and headers. It has a policy that allows specific emails or login methods (e.g., GitHub).
What I'm Trying to Do
I want to deploy ReactFlux, an alternative frontend for MiniFlux, on #CloudflarePages.
Before setting it up fully, I tested the ReactFlux demo with my MiniFlux instance at https://rss.laniecarmelo.tech. However, ReactFlux couldn't log in.
Suspected Issue
I believe the issue is caused by Cloudflare Access protection blocking ReactFlux from accessing the MiniFlux API (https://rss.laniecarmelo.tech/v1/*).
What I've Tried So Far
I added another hostname (rss.laniecarmelo.tech/v1/*) to my tunnel configuration and created a new Cloudflare Access application with a policy set to "Bypass" for everyone. However, this didn't work—when testing the API endpoint in a private browser window, I'm still asked to sign into Cloudflare.
I also tried setting up the hostname with "Protect with Access" turned off but got the same results.
Next, I attempted to use a #CloudflareWorker written in JavaScript to bypass authentication for /v1/*, but it doesn't seem to be doing anything (or isn't being triggered).
What I Need Help With
How can I properly configure Cloudflare so ReactFlux can access the MiniFlux API (/v1/*) while keeping the rest of my MiniFlux instance protected by Cloudflare Access?
I've been stuck on this for a couple of days and would really appreciate any guidance or suggestions!
Hi all. I'm having some issues with MiniFlux, a #SelfHosted#RSSReader, and hoping someone can help. MiniFlux was working fine until I tried to deploy ReactFlux on the same domain as it, rss.laniecarmelo.tech, on a subpath, /reactflux. This didn't work so I removed ReactFlux. I also migrated MiniFlux from #Docker to #Pacman package, thinking it would be easier on my system. This problem, or a similar one, was occurring before I did that though.
Now, rss.laniecarmelo.tech loads the MiniFlux login page, but when I login, it redirects to a blank page at rss.laniecarmelo.tech/login. I've added trusted proxies and cookie configuration to my miniflux.conf and headers to my Caddyfile, but I still have the issue.
I've checked MiniFlux logs, and it's getting the login requests and creating sessions. I'm not sure what's happening after that. Cloudflared and Caddy seem to be working normally.
After weeks of work, I'm excited to share my self-hosted setup! 🎉 I'm running everything on a Raspberry Pi 500 with Stormux (Arch Linux ARM-based), 8 GB RAM, and a 512 GB SD card (planning to upgrade to SSD or NAS as soon as I can afford it). Here's what I’ve built so far:
Caddy + Cloudflare Zero Trust/Access for reverse proxy & SSO
FirewallD + Fail2ban for extra protection
📧 Emails Powered by Zoho ZeptoMail:
All email-capable services (e.g., Forgejo, Joplin) are configured for reliable notifications.
💾 Backups: Using IDrive's 5 TB plan for peace of mind.
This journey has been challenging yet rewarding! 🚀 I'd love to hear your thoughts—especially tips on scaling storage or optimizing performance. Let's chat! 💬
Help Needed: Homepage Configuration – Missing Widgets & API Errors
Hi everyone,
I'm running Homepage (v0.10.9) in Docker on Arch Linux ARM (Stormux) and encountering issues with missing widgets and API errors. Some widgets are showing as "Missing" on the dashboard, and I'm seeing repeated HTTP 401 errors for Portainer and Tailscale in the logs.
Setup Details:
Homepage Version: v0.10.9
Host OS: Arch Linux ARM (Stormux)
Host IP: 192.168.1.137
Docker Network: All containers are on homepage_net (gateway: 172.23.0.1)
Docker Containers: Homepage, Portainer, Miniflux, Uptime Kuma, Glances, etc.
Issues:
Several widgets showing as "Missing":
AdGuard (running on host, not in Docker)
Netdata
Uptime Kuma
Docker
Portainer
Miniflux
Tailscale
Repeated HTTP 401 errors for Portainer and Tailscale in logs.
What I've Tried:
Separated service definitions (services.yaml) and widget configurations (widgets.yaml).
Updated widget URLs to use appropriate addresses (host IP for AdGuard, container names or Docker network IPs for containerized services).
Regenerated API keys for Portainer and Tailscale.
Verified all containers are on the same network (homepage_net).
I'm curious to hear what others are #SelfHosting! Here's my current setup:
cross-posted from: ...