Show HN: Gitly.io – high performance Git service with a 10s installation time
Hi,<p>Gitly is my side project I&#x27;ve been working on for a couple of months. It is an open source repository manager with a focus on performance, ease of use, and productivity (especially for larger projects).<p>It&#x27;s still in an early alpha stage, a lot of features are missing. The source code and the ability to self-host will be available within a month.<p>There&#x27;s GitHub, Bitbucket, GitLab, gogs. Why create another solution?  Gitly has been designed to be very fast and ridiculously easy to maintain. It is much faster than all of the above. It also offers a couple of unique features.<p>You can self-host gitly in 10 seconds. It has no dependencies, and doesn&#x27;t require a database or a web server.  Updates are automatic and seamless.  It&#x27;s easier to set up than gitweb! At the same time gitly is going to have the same features GitHub&#x2F;GitLab offer, and even more.<p>How fast is gitly? Every single page takes less than 0.5s to load, no matter how big the project is. There are no JS libraries used (in fact, there&#x27;s barely any JS at all), so the client side performance is great.<p>You can host your repositories on gitly.io, and it offers the same high performance. Cloning the entire Spring framework on gitly.io takes 11 seconds. On GitLab.com it took 7 minutes and 50 seconds. Of course GitLab.com is massive.  However, the way gitly was built, performance will always be this good: it can be scaled horizontally very easily. And if you host it locally, the cheapest 256 MB instance should be enough for most users.<p>Gitly works great with large projects. I successfully tested it with a 10 year old repository with 4 million lines of code.  Bitbucket took almost an hour to cache. Gogs crashed, and I didn&#x27;t manage to install GitLab to test it locally after trying for 2 hours.<p>Many of the unique features are to improve productivity and help understand the code base better, which is very useful for large projects.<p>One of them is called &quot;top files&quot;. It shows the largest files in any directory of the repository on one page with detailed language stats. Here&#x27;s how it looks like for the Spring framework:<p><a href="https:&#x2F;&#x2F;examples.gitly.io&#x2F;java-spring-framework&#x2F;top-files&#x2F;master&#x2F;spring-core&#x2F;src&#x2F;main" rel="nofollow">https:&#x2F;&#x2F;examples.gitly.io&#x2F;java-spring-framework&#x2F;top-files&#x2F;ma...</a><p>Another unique feature is language stats. Gitly displays detailed language stats for every single directory. This can give a better picture of the structure of the project.<p>One of my favorite features is the search. Unlike all other search engines, the one in gitly will search exactly what you asked for: character by character.<p>For example, if you are a Rust developer, and you need to  search for the following declaration:<p>fn next(&amp;mut self) -&gt; Option&lt;Self::Item&gt; {<p>You type it, and you only get the results you are interested in:<p><a href="https:&#x2F;&#x2F;examples.gitly.io&#x2F;rust-alacritty&#x2F;search?q=fn next(&mut self) -> Option<Self::Item> {" rel="nofollow">https:&#x2F;&#x2F;examples.gitly.io&#x2F;rust-alacritty&#x2F;search?q=fn next(...</a><p>Gitly also has discussions, which is like a simple forum where you can discuss the project, ask questions and so on. Mailing lists will be integrated as well.<p>Like most other solutions, gitly has a Trello-like issues board, and you can import all your Trello boards.<p>It&#x27;s still an alpha. There are a couple of rough edges (e.g. markdown support is not great). Here are the missing critical features that will be implemented within the next two weeks:<p>- Forking, pull requests, code review.
- User profile (password change, SSH keys etc)
- SSH support (only HTTPS for now, making SSH authorization secure takes time)<p>Some of the upcoming functionality I&#x27;m excited about:
- Go to definition support for most popular languages
- Issues as part of the repository, so that it&#x27;s possible to manage them locally
- Pull request interface that would make Linus happy
- Search in commit history
- A way to organize a large amount of repositories<p>Thanks for your time, looking forward to your feedback.