@h4ckernews@mastodon.social avatar h4ckernews Bot , to random
@h4ckernews@mastodon.social avatar h4ckernews Bot , to random
@RareBird15@allovertheplace.ca avatar RareBird15 , to selfhosting group

To people who use , do you need to get the most out of it? Found this guide to setting up HomeAssistant in that helped me get both installed, but Node-Red's interface is pretty much unusable with a , and I'm thinking of uninstalling it.

selfhosting@a.gup.pe icon selfhosting group selfhost@lemmy.ml icon Self Hosted - Self-hosting your services. selfhosted@lemmy.world icon Selfhosted

@RareBird15@allovertheplace.ca avatar RareBird15 , to selfhosting group

I'm curious to hear what others are ! Here's my current setup:

Hardware & OS

Infrastructure & Networking

Security & Monitoring

Authentication & Identity Management

  • Authelia (Docker): Just set this up for two-factor authentication and single sign-on. Seems to be working well so far!
  • LLDAP (Docker): Lightweight LDAP server for managing authentication. Also seems to be working pretty well!

Productivity & Personal Tools

Notifications & Development Workflow

  • Notifications via: (Docker) and Zoho's ZeptoMail ()
  • Development Environment: Mostly using VSCode connected to my server via Remote-SSH extension.

Accessibility Focus ♿️🖥️

Accessibility heavily influences my choices—I use a screen reader full-time (), so I prioritize services usable without sight (, ). Always open to discussing accessibility experiences or recommendations!

I've also experimented with:

  • Ollama (): Not enough RAM on my Pi.
  • Habit trackers like Beaver Habit Tracker (): Accessibility issues made it unusable for me.

I don't really have a media collection, so no Plex or Jellyfin here ()—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?

selfhost@lemmy.ml icon Self Hosted - Self-hosting your services. selfhosted@lemmy.world icon Selfhosted selfhosting@a.gup.pe icon selfhosting group

@RareBird15@allovertheplace.ca avatar RareBird15 , to selfhosting group

Bookmark Manager Running, but Unable to Check for Updates or Generate a Cron Token

Hi all. Hoping someone in the community can help here. I'm running LinkAce in behind non-Dockerized and , 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 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>

Docker Compose file

services:<br></br>  # --- LinkAce<br></br>  linkace:<br></br>    image: docker.io/linkace/linkace:latest<br></br>    container_name: linkace<br></br>    restart: unless-stopped<br></br>    depends_on:<br></br>      - linkace_db<br></br>    ports:<br></br>      - "0.0.0.0:3009:80"<br></br>    volumes:<br></br>      - ./.env:/app/.env<br></br>      - ./backups:/app/storage/app/backups<br></br><br></br>  # --- Database<br></br>  linkace_db:<br></br>    image: docker.io/library/mariadb:11.5<br></br>    container_name: linkace_db<br></br>    restart: unless-stopped<br></br>    command: mariadbd --character-set-server=utf8mb4 --collation-server=utf8mb4_bin<br></br>    environment:<br></br>      - MYSQL_ROOT_PASSWORD=${DB_PASSWORD}<br></br>      - MYSQL_USER=${DB_USERNAME}<br></br>      - MYSQL_PASSWORD=${DB_PASSWORD}<br></br>      - MYSQL_DATABASE=${DB_DATABASE}<br></br>    volumes:<br></br>      - db:/var/lib/mysql<br></br><br></br>  # --- Cache<br></br>  linkace_redis:<br></br>    image: docker.io/bitnami/redis:7.4<br></br>    container_name: linkace_redis<br></br>    restart: unless-stopped<br></br>    environment:<br></br>      - REDIS_PASSWORD=${REDIS_PASSWORD}<br></br><br></br>volumes:<br></br>  db:<br></br>

.env (secrets redacted)

## 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>

Caddyfile snippet

{<br></br>    email [email protected]<br></br>    debug<br></br>    acme_dns cloudflare redacted<br></br>    http_port 80<br></br>    https_port 443<br></br>    admin :2019 {<br></br>        origins 127.0.0.1:2019 0.0.0.0:2019 stormux:2019 caddy.laniecarmelo.tech<br></br>    }<br></br>}<br></br><br></br>(logconfig) {<br></br>    log {<br></br>        output stdout<br></br>        format json<br></br>    }<br></br>}<br></br><br></br>(auth_headers) {<br></br>    header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"<br></br>}<br></br><br></br>(proxy_config) {<br></br>    header_up Host {http.request.host}<br></br>    header_up X-Real-IP {http.request.remote}<br></br>    header_up X-Forwarded-User {http.auth.user.id} # Pass user ID<br></br>    header_up X-Forwarded-Email {http.auth.user.email} # Pass email<br></br>}<br></br><br></br>(authelia_middleware) {<br></br>    forward_auth localhost:9091 {<br></br>        uri /api/verify?rd=https://auth.laniecarmelo.tech<br></br>        copy_headers Remote-User Remote-Email Remote-Groups Authorization<br></br>    }<br></br>}<br></br><br></br>bookmarks.laniecarmelo.tech {<br></br>    route {<br></br>        import authelia_middleware<br></br>        reverse_proxy localhost:3009 {  # Directly proxy to LinkAce's web server<br></br>            import proxy_config<br></br>        }<br></br>    }<br></br>    import logconfig<br></br>    import auth_headers<br></br>}<br></br>

Authelia config snippet

    - domain: "*.laniecarmelo.tech"<br></br>      policy: bypass<br></br>      networks:<br></br>        - 192.168.1.0/24    # Local network<br></br>        - 172.17.0.0/16     # Docker bridge network<br></br>        - 100.64.0.0/10     # Tailscale network<br></br><br></br>    - domain: "bookmarks.laniecarmelo.tech"<br></br>      resources: ["^/api.*"]<br></br>      policy: bypass<br></br><br></br>    - domain: "*.laniecarmelo.tech"<br></br>      policy: one_factor      <br></br><br></br>      - client_id: linkace<br></br>        client_name: LinkAce bookmarking app<br></br>        client_secret: redacted<br></br>         public: false<br></br>        authorization_policy: one_factor<br></br>        scopes: [openid, groups, profile, email, offline_access]<br></br>        redirect_uris:<br></br>          - https://bookmarks.laniecarmelo.tech/auth/oidc/callback<br></br>        grant_types: [authorization_code]<br></br>        response_types: [code]<br></br>        response_modes: [form_post, query]<br></br>        userinfo_signed_response_alg: none<br></br>        consent_mode: explicit<br></br>        pre_configured_consent_duration: "1y"<br></br>

Does anyone know what might be causing this and how I can fix it?

selfhost@lemmy.ml icon Self Hosted - Self-hosting your services. selfhosted@lemmy.world icon Selfhosted selfhosting@a.gup.pe icon selfhosting group

@RareBird15@allovertheplace.ca avatar RareBird15 , to Self Hosted - Self-hosting your services.

Help Needed with Cloudflare Zero Trust, Pages, and Workers for ReactFlux + MiniFlux Setup

Hi everyone,

I'm new to and have been trying to set up a project on my 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 feed reader on my Raspberry Pi 500 (, installed via Pacman).
  • The setup uses as a reverse proxy, a tunnel, and Cloudflare Access for SSO.
  • My 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 .
  • 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

  1. 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.
  2. I also tried setting up the hostname with "Protect with Access" turned off but got the same results.
  3. Next, I attempted to use a 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!

Thanks in advance for your help!


selfhosting@a.gup.pe icon selfhosting group selfhost@lemmy.ml icon Self Hosted - Self-hosting your services. selfhosted@lemmy.world icon Selfhosted

@RareBird15@allovertheplace.ca avatar RareBird15 , to selfhosting group

users, can anyone help?

Hi all. I'm having some issues with MiniFlux, a , 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 to 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'm using for and for . Has anyone seen anything like this before? This is on a running .

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.


selfhost@lemmy.ml icon Self Hosted - Self-hosting your services. selfhosted@lemmy.world icon Selfhosted selfhosting@a.gup.pe icon selfhosting group

@RareBird15@caneandable.social avatar RareBird15 , (edited ) to Selfhosted

Hi community. I've figured out a lot of my setup. I now have a new domain, laniesplace.us, just for stuff. It's set up through Porkbun with Dynu for . I've now got , , , , , Code-Server, , , , , , , , , , and the dashboard service installed. I'm now trying to set up so I can have single sign-on to my services. For some, it's working now, but I can't seem to get Linkding to work no matter what I do. This is on a 500 with 8 GB RAM and a 512 GB SD card, running , which is based on . Can anyone help? I'll reply to this post with all my relevant config files in separate posts. What's happening is this: Linkding is supposed to be available at bookmarks.laniesplace.us. When I go there, I see a 401 unauthorized error and a link to sign into Authelia. Once I sign in, though, it redirects back to the page with the 401 error. I've been trying to figure this out for hours with no luck. Files will be in replies to this post.

selfhost@lemmy.ml icon Self Hosted - Self-hosting your services. selfhosting@a.gup.pe icon selfhosting group selfhosted@lemmy.world icon Selfhosted linux@a.gup.pe icon linux group

@9to5linux@floss.social avatar 9to5linux , to random

500 Computer Launches with the Official Raspberry Pi Monitor, Based on https://9to5linux.com/raspberry-pi-500-computer-launches-with-the-official-raspberry-pi-monitor

ALT