The Dangerous Convenience of Implicit Ownership
Authorization systems often become complicated one convenience at a time. Everlock ran into a good example of this while working on repository permissions. The original rule sounded harmless:
Documentation
Authorization systems often become complicated one convenience at a time. Everlock ran into a good example of this while working on repository permissions. The original rule sounded harmless:
Most self-hosting decisions are decisions about convenience. You move a service onto your own hardware, accept that you are now the person who patches it, and the worst realistic outcome is some downt
Pull requests look simple when a forge is doing the work for you. A contributor creates an account, forks a repository, pushes a branch, and clicks a button. The forge connects all of those pieces and
The 0.10.0 release adds two operator tools — an on-demand view of the server's recent log and an explicit restart — makes the git host's address a live setting, names the MCP endpoint at start, and mo
"Everything is Git" describes the architectural rule behind Everlock. This article is the more mechanical version of that idea. What does it actually mean to build application storage on top of bare G
The 0.9.2 release restores the embedded model's text recognition and non-English answers, serves IPv4 and IPv6 side by side on every frontend, and repairs `writer` grants on photo instances. Binaries
The 0.9.1 release repairs Immich mobile sync for photo libraries that carry duplicate uploads, and moves the container image onto the standard ports. Binaries are on the [download page](/downloads); t
The 0.9.0 release makes Everlock a git host: repositories are served over HTTP, browsed in a web UI, and built by CI runs that a push starts. It also replaces the two embedded AI models with one that
Everlock embeds its language model in the binary. Until now it embedded one of two. The default build carries SmolVLM-256M, small enough to disappear into the executable. A `qwen3` feature swaps it fo
On most Git forges, a pull request is not really a Git object. It is an application object that happens to point at Git commits. There is usually a database row with an integer id, an author, a state,
Everlock starts with a fairly unreasonable constraint: > Everything that matters should live in Git. Not just the source code for Everlock. The data managed by Everlock. Photos. Calendars. Configurati
The 0.8.0 release adds file shares: a versioned store mounted as a network drive over WebDAV, from Finder, Windows Explorer, a Linux file manager, or `rclone`. Every change is a commit, so a share's h