Live demo: pychat.org Tutorial video
This is free web (browser) chat, that features:
- Sending instant text messages via websockets.
- Sending images, smiles, anchors, embedded youtube, giphy, code highlight
- Making calls and video conference using Peer to peer WebRTC.
- Sharing screen during call or conference
- Sending files directly to another PC (p2p) using WebRTC + FileSystem Api (up to 50MByte/s, limited by RTCDataChannel speed)
- Editing images with integrated painter
- Login in with facebook/google oauth.
- Sending offline messages with Firebase push notifications
- Responsive interface (bs like)+ themes
Pychat | Slack | Skype | Telegram | Viber | |
---|---|---|---|---|---|
Open Source | + | - | - | - | - |
Free | + | +/- | +/- | + | +/- |
Screen sharing | + | + | - | - | - |
Syntax highlight | + | - | - | - | - |
Unlimited history | + | +/- | + | + | + |
Mobile phone call | - | - | +/- | - | +/- |
Audio/Video conference | + | + | + | + | - |
Can run on your server | + | - | - | - | - |
Audio/Video messages | + | - | - | + | + |
P2P file sharing | + | - | - | - | - |
Desktop/mobile clients* | - | + | + | + | +/- |
3rd-party integration* | - | + | - | - | - |
* coming soon...
You can always use pychat.org, but if you want to run Pychat yourself you have options below:
Please don't use this build for production, as it uses debug ssl certificate, lacks a few features and all files are located inside of container, meaning you will lose all data on container destroy.
- Download and run image:
docker run -p 443:443 deathangel908/pychat-test
- Open https://localhost
- You need create ssl certificates:
server.key
andcertificate.crt
. For example
openssl req -nodes -new -x509 -keyout server.key -out certificate.crt -days 3650
- Download settings.py and edit it according comments in it.
- Download production.json and edit it according wiki
- Create volume and copy files there
docker volume create pychat_data
containerid=`docker container create --name dummy -v pychat_data:/data hello-world`
docker cp settings.py dummy:/data/settings.py
docker cp production.json dummy:/data/production.json
docker cp certificate.crt dummy:/data/certificate.crt
docker cp server.key dummy:/data/server.key
docker rm dummy
If you need to edit files inside container you can use
docker run -i -t -v pychat_data:/tmp -it alpine /bin/sh
- Run image with:
docker run -v pychat_data:/data -p 443:443 deathangel908/pychat
- Open https://localhost and enjoy it!
Take a look at INSTALL.md
- To run chat in development take a look at INSTALL.md
- For development tips also check CONTRIBUTING.md