/demochat

Primary LanguageJavaScriptMIT LicenseMIT

Build status: Codefresh build status Demo for Axway Let's Chat Greylock Screenshot A self-hosted chat app for small teams or big Gal by Security Compass.

Features and Stuff

  • BYOS (bring your own server)
  • Persistent messages
  • Multiple rooms
  • Private and password-protected rooms
  • New message alerts / notifications
  • Mentions (hey @you/@all)
  • Image embeds / Giphy search
  • Code pasting
  • File uploads (Local / Amazon S3 / Azure)
  • Transcripts / Chat History (with search)
  • XMPP Multi-user chat (MUC)
  • 1-to-1 chat between XMPP users
  • Local / Kerberos / LDAP authentication
  • Hubot Adapter
  • REST-like API
  • Basic i18n support
  • MIT Licensed

Deployment

For installation instructions, please use the following links:

Support & Problems

We have a troubleshooting document, otherwise please use our mailing list for support issues and questions.

Bugs and feature requests

Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Documentation

Let's Chat documentation is hosted in the wiki. If there is an inaccuracy in the documentation, please open a new issue.

Contributing

Please read through our contributing guidelines. Included are directions for opening issues, coding standards, and notes on development.

Editor preferences are available in the editor config for easy use in common text editors. Read more and download plugins at http://editorconfig.org.

License

Released under the MIT license.

Let's Chat Greylock

Use this tutorial to familiarize yourself with codefresh.yml file and Codefresh functionality.

Screenshot

This tutorial is based on Let’s Chat app.

https://github.com/containers101/demochat

Let’s Chat is self-hosted chat app for small teams or big

This tutorial will walk you through the process of adding the following :

  • Build step - that will build Docker image for your Let’s Chat app

  • Push to registry step - that will push your image to Docker Hub

  • Unit Test step - A freestyle step that runs the unit test of the demo chat after the build

  • Composition step - This step will create and launch a composition.

So, the first thing you need to do is :

Fork our repo

Enter the following link and fork Let’s Chat app!: https://github.com/containers101/demochat

Add a service

Now enter Codefresh and add your Let’s Chat app as a Codefresh service.

Click on Add Repository

Screenshot

Now add your forked demochat repo. You can search for it by typing "demochat" to search. You can also Add by URL here.

Also, choose the branch for your first build (in this case master)

When you finish press Next.

Screenshot

Select how you would like to setup your repository. In this case, our repo has a Dockerfile, so we'll select the middle option.

Screenshot

By default, Codefresh searches for your Dockerfile at the root level of your repository, by the name "Dockerfile". The demo-chat example includes a Dockerfile in the root level.

Screenshot

Review your Dockerfile, and click Create to add your repository.

Screenshot

Clicking on Build button will trigger a regular build.

Screenshot

Great, you are running your build for the first time!

Push your image to Docker registry

In Codefresh the build images will be automatically pushed to Codefresh registry and there’s no need to specify the Codefresh Docker Registry for the block Push to Docker Registry in the pipeline of repository and you can just skip this step.

Click on Repositories, and then click on the Pipelines gear.

Screenshot

Scroll down to Workflow, and you will see a Push to Docker button. If you have set up your credentials, click Save at the bottom of the screen. Otherwise- click on the integration page link.

Write your User/Password info, and click Save to connect.

Screenshot

Unit test your image

Let's head over to Piplines again. Screenshot

Scroll down to Workflow under Build and Unit Test

We'll type in echo $(date) in the Unit Test Script area. This will print the date, and we'll be able to see our test in action.

Let's click Save, and Build to see it in action.

Great- the date has been printed!

Screenshot

Now let's add a full composition that also contains mongo db.

Add composition

Our Let's Chat app needs mongo in order to work, so let's add it!

You can read more about compositions in our docs, but we will also walk through the process here : https://docs.codefresh.io/docs/create-composition

Click the Composition view icon in the left pane, and click the Add Composition.

Screenshot

Choose a name for your composition

Screenshot

We are going to build our comp from scrath, so click Empty Composition

Screenshot

Now we will click Add Service and add demochat, the port (50000), and mongo. Everything looks good here- so let's go ahead and launch by clicking the rocket ship...

Screenshot

Once it has completed, a link to our app will be displayed. Let's click it to see if it worked.

Screenshot

Success! We have successfully launched a composition.

Screenshot

About Containers 101

Containers 101 is online/offline meetup group based in Mountain View that provides guides and helps developers work with Containers. Created by Codefresh which provides environments for every commit, Docker CI and CD, and an embedded registry.

Join Containers 101 Learn more about Codefresh