I mean, it looks like she still has all her fingers. Idk what the big deal is…
- 5 Posts
- 150 Comments
somethingsomethingidkto Selfhosted•Linkwarden v2.12 - open-source collaborative bookmark manager to collect, read, annotate, and fully preserve what matters (tons of new features!) 🚀English3·6 days agoSure thing, I’ll edit this reply when I get back to my computer. Just note that I also have a tailscale and nginx container in the pod which are not necessary.
You’ll see my nginx config which reverse proxies to the port the service is running on. On public servers I have another nginx running with SSL that proxies to the port I map the pod’s port 80 to.
I usually run my pods as an unpriviledged user with
loginctl enable-linger
which starts the enabledsystemctl --user
services on boot.All that being said I haven’t publically exposed linkwarden yet, mainly because it’s the second most resource intensive service I run and I have all my public stuff on a shitty vps.
Edit: My opsec is so bad hahaha
Edit2: I just realized the caps I gave were to the tailscale container, not the linkwarden container. Linkwarden can run with no caps :)
I added the tailscale stuff back
files:
linkwarden-pod.kube:
[Install] WantedBy=default.target [Kube] # Point to the yaml in the same directory Yaml=linkwarden-pod.yml PublishPort=127.0.0.1:7777:80 AutoUpdate=registry [Service] Restart=always
linkwarden-pod.yml:
--- apiVersion: v1 kind: Pod metadata: name: linkwarden spec: containers: - name: ts-linkwarden image: docker.io/tailscale/tailscale:latest env: - name: TS_HOSTNAME value: "link" - name: TS_STATE_DIR value: /var/lib/tailscale - name: TS_AUTHKEY valueFrom: secretKeyRef: name: ts-auth-kube key: ts-auth volumeMounts: - name: linkwarden-ts-storage mountPath: /var/lib/tailscale securityContext: capabilities: add: - NET_ADMIN - SYS_MODULE - name: linkwarden image: ghcr.io/linkwarden/linkwarden:latest env: - name: INSTANCE_NAME value: link.mydomain.com - name: AUTH_URL value: http://linkwarden:3000/api/v1/auth - name: NEXTAUTH_SECRET value: LOL_I_JUST_PUBLISHED_THIS_I_CHANGED_IT - name: DATABASE_URL value: postgresql://postgres:password@linkwarden-postgres:5432/postgres - name: NEXT_PUBLIC_DISABLE_REGISTRATION value: "true" - name: linkwarden-nginx image: docker.io/library/nginx:alpine volumeMounts: - name: linkwarden-nginx-conf subPath: nginx.conf mountPath: /etc/nginx/nginx.conf readOnly: true - name: linkwarden-postgres image: docker.io/library/postgres:latest env: - name: POSTGRES_PASSWORD value: "password" volumeMounts: - name: linkwarden-postgres-db mountPath: /var/lib/postgresql/data volumes: - name: linkwarden-nginx-conf configMap: name: linkwarden-nginx-conf items: - key: nginx.conf path: nginx.conf - name: linkwarden-postgres-db persistentVolumeClaim: claimName: linkwarden-postgres-db-claim - name: linkwarden-ts-storage persistentVolumeClaim: claimName: linkwarden-ts-pv-claim --- apiVersion: v1 kind: ConfigMap metadata: name: linkwarden-nginx-conf data: nginx.conf: | #user nobody; worker_processes 1; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #keepalive_timeout 0; keepalive_timeout 65; gzip off; # set_real_ip_from cw.55.55.1; real_ip_header X-Forwarded-For; real_ip_recursive on; server { listen 80; server_name _; location / { proxy_pass http://localhost:3000/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header X-Forwarded-Scheme $scheme; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Accept-Encoding ""; proxy_set_header Host $host; } } }
I also have a little helper script you might like
#!/bin/bash SYSTEMD_DIRECTORY="${HOME}/.config/containers/systemd" POD_NAME="linkwarden-pod" mkdir -p "$SYSTEMD_DIRECTORY" cp "${POD_NAME}".{kube,yml} "${SYSTEMD_DIRECTORY}"/ systemctl --user daemon-reload
somethingsomethingidkto Selfhosted•Linkwarden v2.12 - open-source collaborative bookmark manager to collect, read, annotate, and fully preserve what matters (tons of new features!) 🚀English1·6 days agoSo I have mine running in a podman quadlet. It runs as root in the container but it is unpriviledged. Mine has NET_ADMIN and SYS_MODULE but I honestly can’t remember why… SYS_ADMIN seems extreme though
Edit: I’m dumb, and the linkwarden container has no capabilities set. I set them for the tailscale container which definitely needs it.
somethingsomethingidkto Cybersecurity@sh.itjust.works•Zero-Day Vulnerability allow attackers to steal users data Found in Password Managers( 1Password, Bitwarden, LastPass, Enpass, iCloud Passwords, and LogMeOnce remain unpatched— still vulnerable)English171·13 days agoIn my research, I selected 11 password managers that are used as browser extensions and the result was that all were vulnerable to “DOM-based Extension Clickjacking”. Tens of millions of users could be at risk (~40 million active installations).
I’ve never used the browser extensions. Seemed like a pretty obvious vector. Good on the author.
somethingsomethingidkto Technology•Mozilla under fire for Firefox AI "bloat" that blows up CPU and drains batteryEnglish8·23 days agoHoly shit I had no idea until I read your comment. I thought “surely they will have respected all of my opt outs”. I guess this is my last samsung phone lol
somethingsomethingidktoPhotography•Crypt Lake Trail, Waterton Lakes National Park, Alberta3·29 days agoFuck yeah. I love the second to last picture with the trees in the foreground. Gives that hard to capture sense of perspective you get in person. Good job :)
somethingsomethingidkto Privacy@lemmy.dbzer0.com•Google Gemini is about to control your messages and calls, even if you say no4·2 months agoAny suggestions?
Do you know what a shitpost is?
Here’s a cool video about it
https://yewtu.be/watch?v=kbKtFN71Lfs
Edit:
Meant to reply to msfroh, oops
somethingsomethingidkto A Boring Dystopia•Trump’s EPA to “reconsider” ban on cancer-causing asbestos14·2 months agoIn 2017, 1.3 million tonnes of asbestos were mined worldwide. Russia was the largest producer with 53% of the world total
A little but there is also systemd integration with podman.
However for that I usually set up a lingering user with limited permissions. For some cases you need rootful though.
somethingsomethingidkto cats•Ukrainian chief sergeant Viktoria Runa with her badass cat, Krymchanka193·3 months agoI would 👀
somethingsomethingidkto Overseas News@aussie.zone•9News US Correspondent Lauren Tomasi hit by rubber bullet during Los Angeles protests201·3 months agoHas been for awhile friend. Look up the Kent State massacre. The MOVE bombing. Trail of Tears.
It’s always been this way.
Cause money :(
I’ve put about 100 hours into Pathfinder wrath of the righteous over the past couple months and I think I like it better than BG3 tbh.
They do a great job with the large scale world. I was getting ready to try 40k but I think I’m gonna wait for this.
Clarification: The 9 book series is complete and much better than the show. There are also 9 novellas to fill in the blanks like Amos’s childhood. So fucking good.
I’ve never heard of this comic book you speak of.
There is also a TTRPG that is also quite fun and includes a lengthy section on orbital mechanics for the needs.
osx showed me that windows sucked ass. It showed me that the terminal could be useful. It’s at least UNIX like.
Fractions still work the same way. The thing is Americans would think the 1/100 is bigger than 1/2, because 100>2. Doesn’t matter what unit you start with
Edit: I see what you’re saying with the names. But do you think the average american knows that a quarter pounder is less than a third pounder?
I think it’s cool that I can take that config and drop it into kubernetes and it usually just works. I don’t have a cluster anymore, but if I decide to use one in the future, the overhead will be negligible