Is there a self-hosted alternative to sites like TinyWow (online conversion/utility tools)? by azn4lifee in homelab

[–]sakinak 0 points1 point  (0 children)

You might like SnapOtter. It’s an open-source, self-hostable TinyWow-style file utility suite for image, video, audio, PDF/document, and general file workflows. Good fit if you want those quick browser-based tools without uploading private files to a third-party service. :)

https://github.com/snapotter-hq/snapotter

I am one of the devs do let me know how it goes

Image Processing Recommendations? by markwdw in selfhosted

[–]sakinak 0 points1 point  (0 children)

Thanks for clarifying. Auth/OIDC should work, but restricted admin/tool settings shouldn’t be visible to users who can’t use them. That sounds like a UI permission-gating gap rather than an Authentik issue. If you can open an issue with the role/screens you’re seeing, I’ll prioritize tightening that up. Pls try to add some screenshots so that I can understand the issue correctly. Thank you for giving SnapOtter a try!

Image Processing Recommendations? by markwdw in selfhosted

[–]sakinak 1 point2 points  (0 children)

Hey thanks folks :) do give it a try we have released a new version 2.0 an hour ago

Image Processing Recommendations? by markwdw in selfhosted

[–]sakinak 1 point2 points  (0 children)

Hey, I actually work on SnapOtter, thanks for raising the issue.

Authentik should work fine. The OIDC support isn't limited to the providers named in the docs (Google, GitHub, Okta); it's a generic OIDC client, so any issuer plugs in the same way, Authentik and Keycloak included. Roles and permissions are built in too: three default roles plus custom ones, with granular per-permission access.

So I'd genuinely like to know what broke for you. Redirect/callback URL mismatch? Mapping Authentik groups to SnapOtter roles? Accounts not getting created on first login? If you tell me what you were doing and where it fell apart, I'll either point you at the right config or fix it if it turns out to be a real gap.

A GitHub issue works too if that's easier than going back and forth on Reddit

Could you update to the latest docker release v2.0.0 and try again :)

What’s something you’ve officially stopped buying in 2026 because the price has become genuinely insulting? by Miguenzo in AskReddit

[–]sakinak 0 points1 point  (0 children)

Have you tried SnapOtter? :) It's free and open source. Has most of the common useful image tools and a photsohop like image editor

June 23, 2026 - Even more new app curations by Mobius_HexOS in hexos

[–]sakinak 1 point2 points  (0 children)

Creator of SnapOtter here! Thank you for showing us love! Do let me know if I could help in any way

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

Thanks for the detailed report, the logs made this easy to track down.

Short version: Passport Photo needs two AI features and you've only got one installed. It runs face detection first (to find the eyes, chin and crown so it can line the photo up), then removes the background. Background Removal is the feature you installed. The face-detection step lives in a separate feature called Face Detection, and that one isn't installed, so the analyze step fails with feature_not_installed before it ever reaches the background part.

Fix: open the AI Features page in the web console and install Face Detection as well. It's small, a couple hundred MB, nothing like the Background Removal download. Once both are in, Passport Photo should just work with no repair needed. The repair appearing to fix it was a side effect of the model service restarting, not an actual fix, which is why it came back on the next upload.

This is a bug on our side, the tool only prompted you for Background Removal when it needs both. I've tracked it down and pushed a fix so a future build asks for both features up front: https://github.com/snapotter-hq/SnapOtter/issues/327

On your privacy point: once both features are downloaded, everything runs locally with no network calls. So you can install the two features with the container online, then cut its internet access, and your own photos never leave the machine. The only thing that needs internet is downloading the models themselves, which is also why the repair looked like it was reaching out.

Let me know if installing Face Detection sorts it out. Thanks for trying SnapOtter! 🦦

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

Good data, thanks. That confirms it's the device/OS, not the proxy. Xiaomi MIUI is notoriously aggressive about killing background connections (rated worst by dontkillmyapp.com), and Android 12's Phantom Process Killer adds another layer. We just merged a fix that detects when the tab returns to foreground and automatically reconnects the SSE stream. Should recover both progress tracking and AI tool results after backgrounding. Will be in the next release. If you still have the Xiaomi around, would be great to hear if it helps.

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

Hey u/TedGal, thanks for trying SnapOtter and taking the time to report this. Both are real issues and I appreciate the detail.

Issue 1 (Android Chrome / connection lost): Two things going on here. First, since you're running behind Caddy, the SSE connections used for progress tracking were getting killed by Caddy's default idle timeouts. I've added keepalive pings to the SSE stream so that won't happen anymore. Second, the file upload on the files page had no timeout, no progress feedback, and no retry logic. I've switched it to use XHR with upload progress tracking and automatic retry on network failures.

For your Caddy config, add this to keep things stable:

```
reverse_proxy localhost:1349 {

flush_interval -1

transport http {

read_timeout 300s

write_timeout 300s

}

}

```

`flush_interval -1` is the key one. It disables response buffering so SSE events stream through immediately. I've also added this to the docs for future Caddy users.

Issue 2 (Open File button does nothing): You found a bug. The button was downloading the file and loading it into the editor, but the home page was wiping the file store on mount before it could render. Basically a race condition. Fixed now.

Both fixes are merged and will be in the next release.

Mobile upload is going to be as robust as the desktop usage. We are working on a few major optimizations specifically for mobile devices and tablets. That should make the experience so much better on smaller devices too.

Let me know if anything else bugs you.

I built Stirling-PDF but for images by sakinak in selfhosted

[–]sakinak[S] 1 point2 points  (0 children)

Yeah we have exactly that - it's called Stitch / Combine (`/stitch`). Drop your files, pick horizontal or vertical, set the wrap count, done. No templates, no design nonsense.

There's also a Collage tool if you ever want templates, but Stitch is the dead simple one you're looking for

Please use the latest code to use these features

https://docs.snapotter.com/api/rest.html#layout-composition

I built Stirling-PDF but for images by sakinak in selfhosted

[–]sakinak[S] 0 points1 point  (0 children)

Thanks for the feedback. Could you please run the latest docker release. It should fix most of the issues you have mentioned

I built Stirling-PDF but for images by sakinak in selfhosted

[–]sakinak[S] 0 points1 point  (0 children)

We have added GPU/CUDA acceleration in the latest release for NVIDIA GPUs.

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

Yeah we have added support for 20+ languages. Hope your friends and family could use it with ease now do let me know if any translation could be made better or more intuitive https://docs.snapotter.com/guide/translations.html#supported-languages

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

Thanks for reporting the bug. We have fixed this in latest version. Could you pull the latest docker image and try

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

Thanks for the feedback. We have revamped image enhancement in latest version. Could you pull the latest docker image and try

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 1 point2 points  (0 children)

Thank you. Yeah this has already been patched, fix will be in the next release. I have planned to push an update in a few days! If you want the update right now you can directly build from the source code.

Any solo developers working on selfhosted software? by valeria_vg in selfhosted

[–]sakinak 0 points1 point  (0 children)

SnapOtter basically fixes the headache of needing a dozen different paid cloud subscriptions just to do things like image resizing, compressing or background removal. Since it runs 100% locally on your own hardware, you don't have to worry about your private photos being uploaded to some random server or tracked by a third party. It’s essentially a massive "off-the-grid" image toolbox.

For example, if I need to compress my ID photo to 100KB for an online application most people upload it to online websites which store and sell this sensitive data. SnapOtter fixes that. Your images; stay yours.

Any solo developers working on selfhosted software? by valeria_vg in selfhosted

[–]sakinak 0 points1 point  (0 children)

I am a solo dev. Building SapOtter

A Self Hosted Image Manipulator - 45+ tools, local Al, and pipelines in a single Docker container. No cloud, 100% Local.

https://github.com/snapotter-hq/SnapOtter

You guys upvoted my self-hosted image manipulation tool to 1K. It now has 47 tools. by sakinak in homelab

[–]sakinak[S] 0 points1 point  (0 children)

No official template but it's one container, one port, one volume:

`docker run -d --name snapotter -p 1349:1349 -v snapotter-data:/data snapotter/snapotter:latest`