mlunar

joined 2 years ago
[โ€“] mlunar@lemmy.world 1 points 5 days ago

Hehe, alright, no worries! If you change your mind the PRs are open :)

[โ€“] mlunar@lemmy.world 2 points 6 days ago

๐Ÿค“ you got it! Mascots are underrated!

[โ€“] mlunar@lemmy.world 1 points 6 days ago (3 children)

Hi! Thanks a lot for trying it out!

I manage all my apps via docker compose, so I'm actually less familiar with TrueNAS apps, so I'm happy that setup was quick :) Would you be interested in contributing a short guide on the setup?

When viewing a snapshot, highlight files (and possibly folders) that differ from the current state (deleted files in red, modified files in yellow, for example)

Yeah, I was thinking something along those lines as well. Maybe being able to "diff" between two snapshots as well, for example to see what was changed in a snapshot compared to its predecessor. Would be cool to have file diffs as well :)

Downloading entire folders, that would probably require timeship to zip them up beforehand, though.

Yeah, that would be nice too. I think archiving / zipping multiple files or folders on the fly is fairly straightforward in Go, it's just the matter of putting in the time to make it happen.

If you have any other ideas, let me know! Or open an issue directly :)

Some of the other things I was thinking of are just in the README roadmap, but I'll move them to issues soon enough I guess

 

Hi everyone!

I've recently set up a NAS running TrueNAS Scale and learning about ZFS and associated machinery. ZFS has a pretty cool feature called snapshots, which allow for a kind of version control, but for the whole file system. I set up Tiered Snapshots, which seem to be working great!

To my surprise, there didn't seem to be an easy way to actually browse these snapshots. Yes, you can use "Previous Versions" on Windows, but I'm running Fedora at the moment, so that doesn't help. You can also access .zfs/snapshot/ at the root of the dataset, which is fine if you know exactly which snapshot you want, otherwise it seems a bit clunky. There is also httm, which is a "CLI Time Machine" I've yet to learn more about, but I was looking for something a bit more graphical / browser-based.

Thus, with much hacking and vibing, the proof-of-concept Timeship was born! It has a thousand limitations and compromises for now, so I'm mostly reaching out to see if there is any interest from others on this.

If you use tiered snapshots which happen to be named similar to mine, you can try it out like this:

docker run -p 8080:8080 -v /mnt/tank/your/dataset:/mnt/:ro ghcr.io/smilyorg/timeship

For now, it has a very simple file browser, it detects and shows snapshots via the aforementioned .zfs/snapshot/ directories, allows you to preview the file system and text files at different points in time, and allows you to download a file at any snapshot.

Of course, extending it to support different ways to see the history would be nice, image preview, diffs, downloading archives of multiple files or directories, supporting histories beyond ZFS (e.g. git or borg backups), the list could go on and on. I can't claim I'll have the time to implement any or all of those, but you gotta start somewhere :)

What do you think? Any ideas & comments very welcome!

[โ€“] mlunar@lemmy.world 1 points 1 month ago

Thanks! Hmm, not sure what you mean, that I shouldn't install devDependencies when building the release? That's a good point, I'll need to look into it

[โ€“] mlunar@lemmy.world 1 points 1 month ago

Oh interesting! Thanks for explaining :)

[โ€“] mlunar@lemmy.world 2 points 1 month ago (2 children)

Thanks for the explanation, makes sense! This app relies quite heavily on in-memory caches, so it's somewhat incompatible with that model :)

That said, I wonder if the startup time would be noticeable. Depends a lot on the configuration, but it shouldn't take more than a few 100ms (esp. if you use skip_collection_counts).

[โ€“] mlunar@lemmy.world 1 points 1 month ago (1 children)

Thx! Out of interest, what is your use case?

[โ€“] mlunar@lemmy.world 3 points 1 month ago (4 children)

I don't know a lot about fastcgi, but looking it up it seems like it also keeps a persistent process running to avoid execution overhead, but I don't know how that process is managed ๐Ÿคทโ€โ™‚๏ธ

Either way, you could use a supervisor of sorts that shuts down the process/container after some idle time (at least for containers I know some exist) and that should probably work fine (outside of interrupting scanning operations).

I haven't tried it myself yet though :)

[โ€“] mlunar@lemmy.world 3 points 1 month ago

Thanks for trying it out! Let me know if you run into any issues or have some ideas :)

[โ€“] mlunar@lemmy.world 4 points 1 month ago (1 children)

Hey thanks! The Immich folks are doing an astounding job indeed :)

 

Hey folks!

It's been a year and a half since I last posted about my self-hosted photo gallery here with release v0.15.0.

If you are happy with Immich that's great! I'm mostly having some fun here and the more the merrier, right? :)

See link for the release notes since v0.15 or just skip to the demo.

Happy to hear any feedback, ideas, suggestions, or comments :)

 

Hi all!

I'd like to share some slow, but steady progress I've made on my self-hosted personal photo gallery - a Google Photos alternative. It's been a while since I last posted any updates - the last time was about v0.9.2 on /r/selfhosted, so it's actually my first post here.

What's new?

Lots of things! Here's a quick summary:

Show me the demo

https://demo.photofield.dev/

Now hosted on Hetzner's arm64-based CAX11 - 2 vCPUs & 4 GB of RAM - the cheapest one.

The photos are ยฉ by their authors. Since migrating to the CAX11, it only uses one size of internally pregenerated sqlite-based thumbnails, taking up roughly 4% of the disk space of originals. Support for Synology Moments thumbnails is still there, but doesn't seem as crucial as before.

How do I try it out?

It's very low commitment, a single executable or Docker image that you can mount with read-only access to an existing file structure, see Quick Start (also on GitHub if the website is dead).

Another one??? Why?

It's a conspiracy to increase fragmentation and increase shareholder value of big tech companies. ๐Ÿ˜„ Jokes aside, I think there is some space for a fast, self-contained, extremely easy to deploy solution. But mainly, it's to scratch my developer itch and I get to learn new things.

Thanks

Thanks to everyone who's been using it, contributing, and giving feedback! See also foss_photo_libraries for alternatives if this doesn't fit your needs.

Let me know what you think and what you'd like to see next! ๐Ÿ™