Skip to content

hackthedev/dcts-shipping

Repository files navigation

DCTS - Direct Communication Through Sockets

RedditFeature listDiscordPublic InstanceTutorial PlaylistForumDocumentationDesktop ClientAndroid app

ko-fi

DCTS was created in 2023 because existing solutions at the time all had fundamental issues and sucked. Fast forward to today and the only thing that has changed are the names and some new players entering the game that sadly also suck in terms of concept, vision and execution.

The general goal is to provide a software thats easy to use for admins, users and devs and to be as independent as possible so that DCTS can still exist without issues for the next 10 years or more. To achieve this we wont accept investors, make custom code libraries and keep a high code quality by refactoring it if needed to also avoid tech debt. It pays off very well, as features are implemented lightning fast and the code base being nice to work with.

Tip

DCTS is not only a community chat software, but also has an end-to-end messenger feature built into the desktop client and mobile app! Think of it like signal with the option to be self-hosted too if needed!

You can bet your horses on DCTS because so far everything has just been getting better and better and we have some pretty cool plans for the future when it comes to features and other software (Reddit alternative, Tenor, ...). While DCTS is the "only app" for now, we have planned to develop an entire custom ecosystem!

The following screenshots use a custom theme so if you dont like anime dont be scared.

image-20260529214146477

image-20260529214529621

image-20260218061015595


Which version to choose?

There are 3 version you can choose depending on what you want:

  1. Main: Barely receives updates to stay stable
  2. Beta (recommended): Gets frequent updates but may still contain bugs
  3. Dev: Used for new features and experiments and can be unstable.

Based on this information you can choose your version. Generally its recommended to use the beta as its the best of both worlds.


Support the Project <3

To stay independent DCTS will only accept donations and no investors and alike. Unlike others we wont use any FOMO-like tactics or super special perks. By donating you're "investing" into a better future and software!

Tip

You can also support the project by regularly sharing it and letting as many people know about it as possible!


Why DCTS?

Note

DCTS is still in development. Some features may not yet be fully refined.

Many platforms out there have quite some fundamental issues and other problems. DCTS was born with the goal to make a platform thats as independent and stable as possible for a long time to come.

Heres a short list of the cool things DCTS has to offer:

  • Encrypted DMs: By using the desktop client you can have E2EE DMs (end-to-end-encrypted).

  • VoIP & Screensharing: DCTS has Voice Chat with Opus and amazing Screenshare quality and supports 4K screensharing @ 120 FPS with max 50 Mbit bitrate. These are default limits for now and can be easily extended.

  • Decentralized: DCTS will use a custom-made library for communication between other servers and has a seamless, decentralized instance list built-in as well as discovery.

  • Independent: A lot of libraries are custom-made to guarantee long-term stability and independence and will avoid any deals or investors to keep it like that.

  • Customization: DCTS can be highly customized with plugins and themes. Additionally there are a lot of helpful settings that can be changed to your heart's belonging.

  • Simplicity: Everything is made to be simple, intuitive and easy to use. A basic local non-docker setup can be running in about 10 minutes.

  • Community-Driven: A lot is happening based on community feedback and the current situation.

  • No Paywalls: DCTS will never implement subscriptions or other bullshit and will continue to stay free even for commercial use. The development of DCTS in terms of cost is so efficient that it can run easily on donations and worse case even without.

  • Scalable & Lightweight: Given DCTS is super lightweight and uses bun, MariaDB, Livekit etc it would be roughly estimated that there could be 2000-5000 concurrent users online with about 300-800 actively chatting and causing other server load on average hardware. This is not the limit to whats possible!

  • Quick Development: There are pretty much multiple daily commits and frequent beta updates to ensure bugs are fixed while also refactoring parts of the code to keep the code base from becoming a monster.

  • Account Export: Accounts can be exported and re-imported in other servers. Soon the desktop client will take care about that automatically.

While DCTS is an app, its going to be part of a bigger ecosystem in order to make the web a better place because we still need proper alternatives in other areas too. A Reddit and Tenor alternative are already being worked on and basics almost done.

Tip

Checkout the Feature list in /docs/Feature List.md if you're curious about more


Installing

Please note that if you plan to make it available to the public or want to connect to your server from another machine you WILL need a SSL/TLS certificate.

Docker Installation

Important

Make sure that you have a reverse proxy setup for your chat instance! Checkout the docs folder or https://docs.dcts.community!

wget https://raw.githubusercontent.com/hackthedev/dcts-shipping/refs/heads/main/Docker/docker-compose.yml
docker compose up

or alternatively:

# You can choose between these tags
sudo docker pull ghcr.io/hackthedev/dcts-shipping:latest # :latest, :main or :beta
sudo docker run --rm -p 2052:2052 ghcr.io/hackthedev/dcts-shipping:latest # :latest, :main or :beta

Accessing the server

  • Open your browser and go to http://localhost:2052 (or your server's IP).
  • If you just want to try DCTS, you can visit the public instance at https://chat.network-z.com/.

Tip

Docker was made possible thanks to people like panda, Reeperk ,Animo. and Luna/wunadacat.


Manual Install

# Install database.
# Note that you may need to configure a user afterwards
apt install mariadb-server mariadb-client -y

# Install Bun
curl -fsSL https://bun.com/install | bash

# Download latest version
wget -O dcts-shipping-latest.zip \
  https://github.com/hackthedev/dcts-shipping/releases/latest/download/dcts-shipping.zip

# Unzip into current folder
unzip dcts-shipping-latest.zip -d .

# Install packages
bun install

# Start server to generate config
bun .

You may get an error or warning telling you to edit the configs/config.json file on successful installation. From this point on you just enter the sql connection info into the sql section found in the config file and you should be good to go.

Tip

At the very top of the repo is a linked youtube playlist. The setup is pretty much the same for linux. A linux playlist will be made as well soon.

Note

This is only the very basic setup. Checkout the docs folder for more information. I recommend viewing them on Github.


Tested Versions

Bun:

  • ✔️ 1.3.11

  • ✔️ 1.3.5

Node:

  • ✔️ v24.11.1
  • ✔️ v21.7.3
  • ✔️ v20.19.2
  • ✔️ v18.20.2
  • ✔️ v16.16.0
  • 🚫 v12.22.9

Sponsor this project

  •  

Packages

 
 
 

Contributors