TKL Chat is a modern, cross-platform chat room application built with a Rust backend and TypeScript frontend. It supports real-time messaging via WebSockets and is containerised using Docker for easy setup.
Follow the steps below to get up and running with TKL Chat:
⚠️ Make sure you've defined all required fields from.env.examplein your.envfile before proceeding.
docker compose -f "compose.yaml" -p "chat" up -dThis command will launch all necessary services defined in compose.yaml. Alternatively, to run the application without uploading images to Docker Hub, there is a separate Docker Compose file. To run the dev version:
docker compose -f "compose.dev.yaml" -p "chat-dev" up -d
⚠️ Without nginx running on Docker, the ports for each service will differ while developing, please keep this in mind.
Now, from your browser or the TKL Chat app, you can run the application correctly. The API is accessible at 127.0.0.1:8080.
cargo install diesel_cli --no-default-features --features postgres
diesel setup
diesel migration runThis command will setup the PostgreSQL database.
To build each service's Docker image, in the root directory, run:
docker build -f services/{service_name}/Dockerfile -t {your_username}/tklchat-{service_name}:0.1.0-build1 .To remove containers and their volumes completely:
docker compose -f "compose.yaml" down -vWe welcome contributions! To get started:
- Fork the repo
- Create a new branch (
git checkout -b feature/my-feature) - Commit your changes
- Push to the branch
- Open a Pull Request
GPL-3.0 — see LICENSE for details.