
Show HN: Gitly.io – high performance Git service with a 10s installation time - alex-m
https://gitly.io
======
Analemma_
It's so cool to see people focusing on web app performance. Everyone complains
about it but no one follows up their complaints with action. That's a big plus
and I will definitely keep my eye on this.

This is going to sound petty, but I think it's important: you might want to
come up with a better name. "Gitly.io" is, like, three different regrettable
startup naming fads in one.

~~~
alex-m
Thanks for your feedback. Yeah, I'm not good with names. I'll most likely come
up with something different.

~~~
taf2
Don't change your name. It doesn't matter and it's short. Good luck

~~~
nstj
Google was called "Backrub" before it was called Google[0] so a suboptimal
name doesn't portend failure - focus on the product first! Nice work.

[0]: [https://www.google.com/amp/s/amp.businessinsider.com/the-
tru...](https://www.google.com/amp/s/amp.businessinsider.com/the-true-story-
behind-googles-first-name-backrub-2015-10)

------
jcrawfordor
Will that 10s install be anything like production-ready? As a sysadmin, one of
my pet peeves is tools where the "install process" is "run this executable and
it's a webserver," because for me to put a tool in a place where my teams rely
on it I'm almost always looking at SSL termination, LDAP auth, not to mention
putting it under systemd or something so that it'll get restarted if the host
system does, and the fact that I'll inevitably be deploying via automation.

The takeaway is that I hope the easy install process won't only be easy in the
absolute minimal case. Ideally I'd love to get RPM and DEB packages and
example configuration snippets for a frontend web server. At the very minimum,
distribute in a form that is amenable to deployment to Ansible/Puppet/etc (no
'setup wizard' please!) and placement behind a reverse proxy.

~~~
Twirrim
Honestly, from my sysadmin perspective, I don't give much of a damn about
installation time, provided it's not absurd (e.g. picking a figure out of thin
air 30 minutes?)

What I care about around install, is can I do it in a automatable fashion,
including all configuration. I don't want to have to do anything by hand after
the first exploration and evaluation work!

~~~
friendzis
I must be a terrible sysadmin, because I have never in my life have deployed
anything in under 30 minutes, unless I have already deployed several instances
and have it scripted. If I can get something up and running [and actually
doing what the tool is intended to do] in my infrastructure in a day's amount
of work I call it huge success.

------
glandium
You may want to check with the Software Freedom Conservancy wrt trademark:

"In addition, you may not use any of the Marks as a syllable in a new word or
as part of a portmanteau (e.g., "Gitalicious", "Gitpedia") used as a mark for
a third-party product or service without Conservancy's written permission. For
the avoidance of doubt, this provision applies even to third-party marks that
use the Marks as a syllable or as part of a portmanteau to refer to a product
or service's use of Git code."

[https://git-scm.com/trademark](https://git-scm.com/trademark)
[https://public-
inbox.org/git/20170202022655.2jwvudhvo4hmueaw...](https://public-
inbox.org/git/20170202022655.2jwvudhvo4hmueaw@sigill.intra.peff.net/)

~~~
tyingq
Interesting. Does this mean that the popular existing sites (GitHub, GitLab,
etc) did get permission? Or is this a looming issue?

~~~
rbbitbucket
Read the 2nd link ;)

------
alex-m
Hi,

Gitly is my side project I'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).

It'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.

There'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.

You can self-host gitly in 10 seconds. It has no dependencies, and doesn't
require a database or a web server. Updates are automatic and seamless. It's
easier to set up than gitweb! At the same time gitly is going to have the same
features GitHub/GitLab offer, and even more.

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's
barely any JS at all), so the client side performance is great.

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.

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't manage to install GitLab to test it locally
after trying for 2 hours.

Many of the unique features are to improve productivity and help understand
the code base better, which is very useful for large projects.

One of them is called "top files". It shows the largest files in any directory
of the repository on one page with detailed language stats. Here's how it
looks like for the Spring framework:

[https://examples.gitly.io/java-spring-framework/top-
files/ma...](https://examples.gitly.io/java-spring-framework/top-
files/master/spring-core/src/main)

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.

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.

For example, if you are a Rust developer, and you need to search for the
following declaration:

fn next(&mut self) -> Option<Self::Item> {

You type it, and you only get the results you are interested in:

[https://examples.gitly.io/rust-
alacritty/search?q=fn%20next(...](https://examples.gitly.io/rust-
alacritty/search?q=fn%20next\(%26mut%20self\)%20-%3E%20Option%3CSelf%3A%3AItem%3E%20%7B)

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.

Like most other solutions, gitly has a Trello-like issues board, and you can
import all your Trello boards.

It'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:

\- Forking, pull requests, code review. \- User profile (password change, SSH
keys etc) \- SSH support (only HTTPS for now, making SSH authorization secure
takes time)

Some of the upcoming functionality I'm excited about: \- Go to definition
support for most popular languages \- Issues as part of the repository, so
that it'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

Thanks for your time, looking forward to your feedback.

~~~
fnbr
Hey! I think this is a fantastic tool. There's only one thing:

CHARGE MORE!

This is easily worth $5 per month per user. It's Github, but lean and fast.
There are very few people who would sign up at $1 per month who wouldn't sign
up at $5 per month.

Also- if you're trying to make this into a business, self-hosting is something
that you can get companies to pay for. Github Enterprise pricing is
[obscene]([https://enterprise.github.com/features#pricing](https://enterprise.github.com/features#pricing))
compared to the pricing for hosted, and companies pay it.

I think this is fantastic- great work.

~~~
alex-m
Thanks for your feedback. I'm glad you like it.

The pricing is not final, but I do want to keep it simple and affordable.

~~~
fnbr
Let me know if you're interested in talking about pricing (probably once the
work from launching settles down)- I'm working on a pricing analytics service
and would love to get your thoughts/feedback.

------
romuloab42
It is so refreshing to see slim, fast websites. Only the minimal JS is used.
Even though I don't have many repositories, I'll certainly consider supporting
gitly.

Please remain true to your current vision.

Just a minor point: although the website uses so little JS, the Signup form is
broken without it.

EDIT: by broken I mean it returns a JSON instead of an HTML page or HTTP
redirect.

~~~
alex-m
Thank you! I knew I'm not the only one with this vision. It will always stay
this way.

The form should work fine, I'm getting registrations, but I'll check it. What
browser are you using?

~~~
romuloab42
It's Chrome 56.0.2924.87 on macOS, but the issue is that the form point to an
API endpoint, so without Javascript I can only see the JSON response instead
of being redirected to the protected page.

~~~
alex-m
Ah, right. If JavaScript is disabled, you are going to get the JSON response.

I will definitely make it work without JavaScript.

Thanks for reporting.

------
ErrantX
I like the sub-domain approach. It's fast and nice enough. I'd focus on UI
consistency; pages have different navigation elements. Issues trello-style
board is cool but let down by over-simple styling.

FYI the default avatar image
([https://errant.gitly.io/img/avatars/default.png](https://errant.gitly.io/img/avatars/default.png))
seems to be missing? On the issues page, JQuery UI seems to be missing too.

If you keep working on it I'll probably keep using it :)

~~~
alex-m
Yeah, I really wanted to have unique subdomains for each user.

The design will be improved. This is a very, very early release. I'm also not
a great designer, so hopefully I'll get some help there :)

The entire issues section will see a huge update in 2 days.

~~~
jazoom
What's the actual benefit of a subdomain for each user?

~~~
chris_overseas
Hopefully "user" really means "company" rather than individual user. Otherwise
copy/pasting URLs between colleagues won't be much fun.

~~~
jazoom
I'm sure it does. But I still can't see the benefit of a subdomain rather than
a subdirectory.

~~~
daenney
It could be easier for load balancing or if you want to shard. You could do it
at the DNS level at that point, without needing to strip the TLS bits, decode
the HTTP request and go from there.

For the end user though I can't see much of a benefit of a subdomain over a
URL path, or the other way around. I don't think it matters much but the
author might have bigger plans in which having the subdomain could be easier.

------
throw2016
I love the simplicity and speed of this. Its endearing. No fuss. Reminds me of
Gogs, easy to setup, easy to use. Great job on that. Of course its early days
but I do hope you make the right trade offs and retain the simplicity.

Those with the complex use cases should take the technical debt rather than
now in a lot of software where every possible complex case is accommodated and
the complexity is offloaded to all users.

And I hope you give credit to git for the fantastic piece of engineering it
is. So many projects use Git as the central piece yet push it into the
background.

~~~
alex-m
Thanks. I'll do my best to keep it simple and fast.

I absolutely love git. It's definitely going to be the central piece of the
software.

------
pmontra
I like that code is shown with a proportional font. I've been coding like that
for a couple of years. It took a week to adapt but code is far easier to read
now. After all we're using proportional fonts for nearly everything, why not
code?

Compare proportional on Gitly to fixed on GitHub, same code.

[https://tensorflow.gitly.io/tensorflow/blob/master/tensorflo...](https://tensorflow.gitly.io/tensorflow/blob/master/tensorflow/examples/saved_model/saved_model_half_plus_two.py)

[https://github.com/tensorflow/tensorflow/blob/master/tensorf...](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/saved_model/saved_model_half_plus_two.py)

However it's not what most people see in their editors. I wonder if anybody
noticed or complained about it.

Two things that can go wrong with proportional code:

* Alignments like this
    
    
        a =    1
        long = 2
    

you can't do that unless your editor is very cooperative. That could make
sharing code with coworkers difficult.

* Sans serif fonts don't distinguish between I and l and I didn't find a proportional serif font that does look good enough for code.

~~~
alex-m
Hi,

The default font is not proportional, BUT you will be able to set it to
whatever you like. There will also be an option to disable syntax
highlighting.

Could you tell me what browser you are using?

~~~
thechriswalker
from css/main.scss `$monoFont: 'Courier New', Monaco;`

I think it's caused be the missing fallback `monospace` in that list.

------
skykooler
> Self-hosting will be available on April 1, 2017.

Really, or is that just an April Fool's joke?

~~~
alex-m
:)

I didn't even realize what date I chose.

No, it's not a joke.

------
aphextron
This looks promising. Can't wait to check out the source. How exactly do you
plan on monetizing while allowing unlimited free private repos?

Also, for anyone looking for a good self-hosted git service like this, check
out the existing open source project GOGS [https://gogs.io/](https://gogs.io/)

~~~
alex-m
Hosting on gitly.io for $1/user/month (if more than 5 users).

For self-hosting maybe I'll go the GitLab route, which I don't really like. I
think the product should have the same set of features for all customers.
Maybe I'll just go for paid extended support. We'll see.

~~~
sandGorgon
i have generally seen that a piece of software that is built for self-
deployment is not optimized for scalability. in fact, optimizing for
scalability screws around with ease of deployment.

It will be interesting to see you pull this off if you are indeed thinking of
making your software dual purpose - self deploy as well run a scaleable/fault-
tolerant hosting company.

~~~
alex-m
You are right, these are two very different tasks. That's what makes solving
this fun and challenging. I had it in mind when I was designing the
architecture of gitly. In the end it really is going to be easily deployed and
scalable.

------
movedx
Just so you know, your email for verifying an account signup comes through
with a pretty high spam score (for me at least.) The first email was rated 4.5
and the second 5.9 (I signed up two accounts: personal and business.)

I use Fastmail as my provider.

~~~
alex-m
Thanks for reporting! I'm using SendGrid, I'll make sure it's fixed.

~~~
Belphemur
Try postmark instead. You'll get a good idea of the user interaction with your
transaction mails.

------
ende42
Couldn't find a public test-repo on the front page. Anyone wanting a test
drive without signup, here you go: [https://niko.gitly.io/ruby-
shout](https://niko.gitly.io/ruby-shout)

I love the speed and the (repo internal) search. Looking forward to the
announced missing features.

Note: the "Add Collaborators" link works for anonymous users. Sending the form
then fails with a JS error.

Is there a plan for a global repo search?

~~~
alex-m
Good point, I'll add a a link to a test repo to the front page.

I'll fix the "Add Collaborators" link, thanks for reporting.

> Is there a plan for a global repo search?

Yes! I hope to implement that before the end of April.

------
koolba
Always nice to see competition in this space. Keeps people on there toes
though it's a steep hill to climb feature wise to bring out something as
polished as the alternatives.

> Self-host in 10 seconds

> You can run gitly on your own server. It requires no installation or
> maintenance. You don't even need a webserver or a database. (Self-hosting
> will be available on April 1, 2017.)

Maybe April fools day isn't the best choice for a future release date? Though
I guess it worked for Gmail...

~~~
alex-m
Maybe :) You are not the first person to note that.

------
phantom_oracle
Nice project.

IIRC, doesn't github have some trademarks on their designs or something? If
so, please be weary of this (and their lawyers) OP

------
mtrn
Very nice. It really took me just 10s seconds to sign up and clone a repo. I
believe this kind of easy of setup should be much more common - across many
domains and languages.

That said, details will matter in the longer run. The markdown and code
rendering on github has gotten such a large amount of attention over the
years, that it's hard to compete.

~~~
alex-m
Thanks for signing up! I'm really passionate about simplicity, and gitly is
always going to stay this way.

~~~
mtrn
Me too. It's just hard to achieve. Are there any projects or books that
inspire you regarding simplicity in design and implementation?

~~~
alex-m
The Go language. I can't really think of anything else right now.

I was inspired by GitHub of course, I really liked its design when it came out
(it was a breath of fresh air after SourceForge and others). I tried to make
it even simpler and more efficient.

------
charlieegan3
Looks cool. There seemt to be some styling issues with fenced blocks in
readmes, e.g. I cloned this repo: [https://charlieegan3.gitly.io/personal-
website](https://charlieegan3.gitly.io/personal-website)

~~~
alex-m
Thanks for reporting! Yeah, markdown needs a lot of work. It will be fixed
this week.

------
floatboth
Wow, the design is so "inspired" by GitHub… the language percentage thing
especially

------
my_ghola
What's the difference with gogs/gitea or is it another fork? Is this open
source?

~~~
alex-m
Gitly is not related to gogs. It is going to be more stable and easy to use,
work better with larger projects, and have a set of unique features.

Yes, it's going to be open source.

------
baal80spam
Looks great. May I ask, how can you provide free self-hosting (even if it's
free only for <5 users)?

edit: I didn't receive email confirmation yet, after signing up (15 minutes
ago). HN server effect?

~~~
alex-m
Are you asking about how I'm going to be able to offer it for free for small
projects?

The hardware is pretty cheap, plus there are special Compute Engine offers for
startups.

------
justinsaccount
What's it written in?

~~~
alex-m
Go.

------
jazoom
It's there a way to try it out without signing up? The first thing I wanted to
do was test your claim for speediness. There is a road block in front of doing
that.

~~~
alex-m
You can check out one of the test repos.

In order to clone a repo, you have to sign up, sorry. That's a really fast
process, but it requires email verification.

I'll add a "sign in with GitHub" button today to speed that up.

------
drizze
Why is it that the C++ code is pink in one screenshot, but blue in another?
And Python is blue in one screenshot and pink in another?

Looks like a great project! Thanks for sharing!

~~~
alex-m
Good question. I'm not using unique colors for languages. The main language is
always blue, the second one is always purple etc.

Thanks!

------
stigsm
That it should work without javascript is very nice. :)

The "at least four letters for username" limit is not. Why is this a
restriction?

~~~
alex-m
You are right, I will change it to two letters.

------
hdhzy
Very cool. I've been thinking about something like that for a long time.

I also don't mind paid solution if it'll be open source.

~~~
alex-m
Thanks.

> I also don't mind paid solution if it'll be open source.

That's exactly what it's going to be.

------
hacktothefuture
Great start! Looks good works well. Can't wait to see more.

------
xxdesmus
This looks great. Definitely interested in the self hosted option.

~~~
alex-m
Thanks! Glad you liked it.

------
tscs37
This looks very nice indeed and the pricing is not bad either.

------
dlehman
Can you clone a bitbucket repo, or only GitHub?

~~~
alex-m
You can clone anything.

------
crackcomm
I want it and I want it now! :)

