Visit our subreddit • Feature list • Discord for convenience • Public Instance • To-Do list
This project was made with the goal to provide a platform that aims to fix issues with existing solutions like Discord, TeamSpeak, Revolt, Fosscord, Matrix, TeaSpeak and all others out there and to create new, advanced and easy to use features while creating as little friction as possible and keeping things intuitive.
Although there are still some rough edges and a few missing features, DCTS is evolving rapidly due to the massive amount of work being put into its development. This includes adding new features as well as refining existing ones or improving the general experience. Compared to other alternatives, DCTS is evolving lightning fast.
Without community support, development may slow down significantly and could even come to a halt over time :(
If you value the vision of DCTS and want to see it grow, consider making a donation. Every contribution helps accelerate development and ensures the project's future. Thank you for helping to keep DCTS alive!
Donate via PayPal | Donate via Ko-fi
Tip
You can also support the project by regularly sharing it and letting as many people know about it as possible!
Note
DCTS is still in development. Some features may not yet be fully refined.
Modern communication platforms have limitations and issues that DCTS is designed to overcome and fix. Here's why DCTS exists and how it stands out:
-
Encrypted DMs: DMs are end-to-end encrypted when using the desktop client and non-encrypted when using the web app as fallback. Despite encryption its possible to report and moderate encrypted messages without compromise!1
-
Decentralized In-App Server Discovery: When using the desktop client, users will share their previously connected servers with the currently connected servers. Servers will sync with other servers and display them seamlessly for both the web and desktop client.
-
Full Data Control: Self-host your server and take complete control of your data and privacy with ease.
-
Easy to Set Up: With just two commands (assuming NodeJS & MySQL/MariaDB are installed), you can have your server running.
-
Community-Driven: Responsive development ensures your feedback and feature requests are heard.
-
Modern and User-Friendly: Combines a sleek design with an intuitive interface for both casual and advanced users.
-
Highly Customizable: The plugin system allows endless possibilities for enhancements and features, developed by the community or officially without the need of additional hosting.
-
Efficient Media Handling: Supports advanced features like a Cloudflare image CDN for fast and smooth media uploads and media cache.
-
No Paywalls: Enjoy full functionality without subscriptions or hidden costs - DCTS is made for everyone.
-
User-Focused: Designed to prioritize users, not corporations.
-
Future-Proof: Built with scalability and future features in mind.
-
Rapid Development: Fast bug resolution, continuous feature delivery, and ongoing improvements enabled by a modern and efficient tech stack.
DCTS isn't just a chat platform, it's a vision for better communication, driven by simplicity, freedom, and innovation. Its one step out of many to create a new, better web.
Tip
Checkout the Feature list in /docs/Feature List.md if you're curious about more
To install via docker you can either clone and build or use the prebuilt image.
sudo docker run --name dcts-server -p 8080:2052 ghcr.io/hackthedev/dcts-shipping
or via docker-compose:
curl -L -O https://github.com/hackthedev/dcts-shipping/raw/main/docker/docker-compose.yml
sudo docker compose up -d
Requires node.js to be installed, see Tested Versions. Clone the git repository and execute the following commands inside the app's directory.
# assuming the directory/user exists already.
# you can pick any directory.
cd /home/dcts
# install the voice chat and screensharing server. livekit comes with
# a turn server as well which is important for strict NAT etc
curl -sSL https://raw.githubusercontent.com/hackthedev/initra-shipping/refs/heads/main/apps/livekit/install.sh | bash
# get the lastest stable version of DCTS.
# Beta has new features early but may be unstable.
git clone https://github.com/hackthedev/dcts-shipping
# install dependencies
npm install
# run the server
node .Tip
Install tutorial: https://www.youtube.com/watch?v=N8ILWcW8vGQ
Auto Installer App (wip): https://github.com/hackthedev/initra-shipping
If you need help feel free to create a post on the subreddit or message me on discord.
Note
To be able to use all features its required to connect DCTS with MySQL/MariaDB.
Important
The installer for LiveKit will create a config file inside /home/livekit called livekit.yaml. For public access over the internet, you will need to link TLS certificate files. You can use LetsEncrypt etc
Once you've installed the server and its running, you can open your browser and enter the server's ip and add the port 2052.
Example: http://localhost:2052
Depending on your configuration the port may vary
- ✔️ v21.7.3
- ✔️ v20.19.2
- ✔️ v18.20.2
- ✔️ v16.16.0
- 🚫 v12.22.9
Footnotes
-
When user A sends user B a message, only user A and B can decrypt the message. When user B reports the message sent by user A, user B creates a report with the encrypted data and decrypted message. Based on the decrypted plain text from user B and public key from user A, its possible to verify the encrypted data by any third party, tho only user A and B can actually decrypt it. ↩

