Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Let's Chat, a self-hosted chat app for small teams (sdelements.github.io)
350 points by hhaidar on Feb 12, 2015 | hide | past | favorite | 90 comments



This looks great. Thanks for making it open-source. I've tried other self-hosted chat apps, but this one looks promising. IRC integration would be great. :)

When I was experimenting with websockets, I wanted to make a simple chat app that integrates with Github projects. Of course, not nearly as feature rich, but just an experiment to learn.

Source with demo: https://github.com/alfg/chathub-client


Indeed very interesting open-source application! I agree IRC integration would be really nice, it's one of my favourite features on Slack, allowing me to communicate with my team mates without changing context when i'm inside a server context.

I wrote a simple how-to to do it for Slack and would be delighted to contribute on this feature for Let's chat!

http://www.pilgrimbreak.com/how-to-access-slack-with-command...


Hey if you're IRC-foo is crazy good, it'd be amazing if you helped us out! Think about it, you could be internet batman.


For github projects, I've been using http://gitter.im I've found the integration to be awesome and well thought-out.


Oh, definitely. Gitter has been great as a hosted solution!


What's with the auto-playing music when you hit their main page though? It looks like a great project, and I do love Mario and all things Nintendo, but auto-playing music is just obnoxious.


You can have a look at Waartaa - https://github.com/waartaa/waartaa


+1 for the demo. If there's a 1click2heroku script for this, it will be golden~


That looks pretty neat.

Also +1 for having a demo!


Very nice work! And thanks so much for making it open source. Our company is always looking for an open-source solution that would let us move off of Hangouts, and this might just be the vehicle for that someday. XMPP, chat history, @mentions, local hosting, and open source...a great combo.

The only major thing that's missing that we'd need is private chat! Hope to see that as a feature someday.


Thanks!

Private is pretty much first on our list for the next release. We use hangouts as well and it's definitely a pain point to juggle multiple apps.


Will you be using WebRTC for the chat interface?


Possibly. I think it'll be a while before we do any audio/video stuff.

We're actually just two guys with full time jobs and this is our "10% Time" at work, so our time is a little strained.

I'm hoping to get some pull requests from strangers which I've heard are the best kind of pull requests!


I literally just came from the Slack site to HN wondering if there was an opensource/selfhosting version of something like Slack. Well I guess that question is answered.


There is also `ncat` http://www.commandlinefu.com/commands/view/13460/simple-mult...

(I'll see myself to the door.)


That's actually really neat!


There is also Kandan App. https://github.com/kandanapp/kandan


Is Kandan still actively developed? Doesn't seem like there's been anything new for a couple of years.


Yep, we still are! I recently got added to the ownership team for Kandan (https://github.com/orgs/kandanapp/people) and I've been trying to respond to every issue / pull request that's been submitted. If there's a feature you are missing, let me know. Our last commit was 22 days ago, and we've added a ton of bug fixes, optimizations, security fixes, and overall tweaks in the past few years. Check us out!

Recently, the thing I've been focusing on lately with the app is bug fixes, small tweaks, and upgrading Rails. There's a lot of feature requests on the backburner, but I want the app to be extremely stable before going a mile wide and an inch deep.

That being said, "Let's Chat" looks like it is a great approach and I look forward to the progress that comes on it. The more open source solutions, the better.


eggbrain,

I really like Kanban and I am sad to see it isn't up to rails 4.2 yet. Are you looking for more contributors?

If so, how could I contact you to resolve a few questions so I can get the current repo up and running to work on?


Yes, more people contributing to Kandan would be awesome! My email is in my profile, feel free to shoot me a message and I can help you get setup (anyone else reading this message, feel free to do the same as well if you have trouble not getting Kandan working).


It may not be as actively developed as something like Node, but people are still submitting PRs and the original author is still making updates.


Awesome stuff @hhaidar! I'm sure a bunch of people will love the fact that logs and data exist on their servers. I'm sure it'll resolve some privacy/internal regulation concerns.

Also, hi from Toronto! I work out of CSI at Bloor + Bathurst. Nice to see another Torontonian on here :)


Thanks, this means a lot to us :)

We're around Adelaide and University, not too far from your neck of the woods!


This looks amazing - I recently had to add chat functionality to a web service (self-hosted) and was very much surprised at the crappy options out there. I ended up going with converse.js but the django support was lacking and the whole thing took a lot longer than i thought it was going to take (but then again , it always does)

I might test this out and actually swap them out if it works well.


Damn, I can't tell you how awesome this makes me feel.

Is your service open source or public?


S/he was talking about adding chat to one of his/her sites(or customer's sites) using conversejs[0] which is indeed opensource.

[0]-https://conversejs.org/


Ah great, thanks!


the website i had to add it to is closed-source, but as someone below indicated, converse.js is open source. the actual code base of converse.js isnt bad - but no one was responsive on github as of a few months ago - and that was a huge problem



JabbR is also very neat, it's a .Net project and actively being developped.

I installed it for my company (everyone here knows c# and asp.net mvc )

It's the best project that shows SignalR ( a real time js framework on the .Net platform)


Slightly off topic but everyone here seems somewhat interested in open source self hosted solutions, so check out http://selfhosted.reddit.com


This is great! We use Slack at work and for our uses wouldn't move away from it (we're paying and all), BUT for small teams/private projects/miscellaneous stuff, I absolutely love this.

Great work!



I was about to say "come on, nothing beats IRC", but then I remembered how I always wanted IRC to have LDAP, XMPP, and a REST API.

So... can I connect with my IRC client?


I want it the other way - let's clone all those shiny features and make a pretty, nongeek-friendly client. IRC protocol can be extended to handle all that stuff.


People have been working on stuff like that. I dunno if they are super baked yet but https://github.com/ircanywhere/ircanywhere


If it speaks standard XMPP you can use Bitlbee to connect to it via your IRC client.


I mean, you can always fork it :)


Neat. What's the purpose of the "slug" when creating the room? I was expecting it to be the URL slug, such as http://localhost:5000/#!/room/my-room (and quickly noticed hyphens in the slug name caused a validation error...).


It's mainly for XMPP (room slugs are used as the identifiers there).

Also try typing in #ROOMNAME in the textbox! You can link to rooms like that.


This is really great. Two big missing features preventing us from switching away from Slack are direct messages and mobile push notifications. The latter is hard to do: push is highly centralized, which is really bad for self-hosted/open source software. But DMs are totally doable.


> The latter is hard to do: push is highly centralized, which is really bad for self-hosted/open source software

Why is this the case? I would have thought it's the same in principle whether it's a central Slack server, or a central FooMumble server running Let's Chat.

(Difficulty of implementation might be high, but that doesn't seem to be what you're talking about?)


There are basically two options and they both suck. Either publish one app and distribute the push notification cert (terrible idea) or each hosted site needs it's own cert and thus an Apple account/published app (pain in the ass).


Gotcha, I didn't realize that APNS was involved here. :)


Push is fairly easy to do. There are JS libs for both Google and Apple push services. The hardest part is getting all of your Apple certs setup correctly. Then you just create a simple Cordova app to register devices.


Private/direct messaging is the next big feature we will be adding :)


Is there a way to change user avatars? The screenshot has them but I can't find it in 0.3.2.

BTW the wiki page for Docker references release/0.3.0, but you don't have that branch naming prefix (release/).


I think they are using Gravatar (https://en.gravatar.com/) to pull them in based on your email as it surprised me for a second when I set it up locally, registered and then my current profile photo was already there.


Yup, Let's Chat uses Gravatar!


We should add that we are using Gravatar to our Wiki. It's not obvious for people who aren't already using Gravatar what's going on.


Whoops, I forgot to answer your first question. But yes, we are using Gravatar.


Ah, I assume the reason we all get identical avatars is that gravatar api access gets stopped by the corporate proxy. Any chance that's easily configurable? You're probably going to see a lot of corporate use by places who insist on self hosting everything so you might want to consider dealing with avatars yourself.


Yea it's something we're thinking about. Right now we just assume it'll be ran somewhere internet-aware.

Can you do me a huge favour and file a PR in github? https://github.com/sdelements/lets-chat/issues


0.3.0 is now merged into master


I just deployed to Heroku with the button and the home page gives me a "Moved temporarily". Later a 503 application error.


Thanks for letting us know about the issue! It's now fixed if you wish to try again :)


Same here. Looks like "TypeError: secret required" from the heroku logs.


You should probably file it as a bug or ask for support on github rather than HN! :)


I've reviewed the code of this project here: http://hackhat.com/p/130/lets-chat-analysis/

Topics:

     - Code organization;
     - Deployment;
     - Migrootions (mongoose migrations);
     - Templates;
     - Module loader;
     - CSS;


You are, perhaps, somewhat overusing various graphical effects on that page. Consider toning it down.

At least for me, reading it was too annoying so I stopped. I realize this makes me superficial but I prefer my reading material to STAND STILL so I can look at it. I feel so old.


You are not alone. When I go to a blog article, I expect to read the blog article, rather than have my reading experience jarringly interrupted every paragraph by an image taking over the entire screen.


oh geez. I could not agree more.


i like the auto heroku deploy. brilliant move by heroku. a note - in chrome canery the browser crushes after login.


Could anyone tell me whether this supports markdown and whether it supports syntax highlighting? (kanban too if anyone knows). I tried reading on the respective github project pages but couldn't see anything related to those two questions.


I think you guys should change the behaviour regarding the focus of the text box. If I start typing in the chat window, and my cursor didn't activate the text box, it doesn't type.


Oh weird, what browsing are you using?


You guys should mention MIT license in the title, I didn't click earlier today because I thought it was a paid hosted solution.

(Nothing against paid, I'm just browsing as tinkering me atm : )


And, yes, I really liked the text, specially "A real live 10% time project!"


Haha, fixed. Thanks for bringing it up :P


I was hoping the fork ribbon and source code link would be enough. I'll look into adding something more explicit though.


I setup lets chat at a small start up I was at about 2 years and it worked very well then and im happy that it looks even better now. Will definitely consider it in the future.


This is so so awesome!


Damn. What's wrong with Hacker News today? Everyone is being amazing!


Hah! No for real! Iove this, while ago I worked on something similar based on Rails for a startup, but I left it half way through.

Any plans to provide updates and take it to the next step?


Our actual job is working on SD Elements (http://securitycompass.com/sdelements/). Let's Chat is just a side project, but it's also something we use internally everyday. The features you wish were there we also wish were there, no doubt. Lots of the developers here like working on it. I expect there will be updates from us for the foreseeable future. Hopefully we'll start getting more external pull requests as well.

I doubt we are going to pivot to a free chat client company any time soon.


That sounds good my friend!


Nice. My team uses mobile phones a lot for messaging. I will try to wrap it into a native mobile app so that people can get notification


Basically an open-source version of Slack. Nice work! https://slack.com/


We started the project back in 2012. It's an open source version of Campfire. :)


This is great, good work. I just have one small quibble: did it HAVE to look identical to Slack? Branding and all, you know.


This is really some great piece of software


You're pretty great yourself :D


> Let<span class="lc-love">'</span>s

That's why the ' in Let's is red!


Any plans for search functionality?


Yup, it's in the works for the next release.


Anyone ever tried kato.im? It seems free.


migrootions? :-)


Yea I know, adorably hilarious!


> Let's Chat is a persistent messaging application that runs on Node.js and MongoDB

nope nope nope




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: