this post was submitted on 29 Nov 2025
72 points (98.6% liked)

Selfhosted

53506 readers
422 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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!

you are viewing a single comment's thread
view the rest of the comments
[–] mlunar@lemmy.world 1 points 6 days ago

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