Compare commits

...

2 Commits

Author SHA1 Message Date
Froz e0ab4f3a6b Update Main Readme 3 weeks ago
Froz ecbd99eb98 Add dcts deployment a discord alternative 3 weeks ago
  1. 1
      README.md
  2. 136
      dcts/README.md

1
README.md

@ -35,6 +35,7 @@ After you finish the A-Z guide. You can then follow application specific guides @@ -35,6 +35,7 @@ After you finish the A-Z guide. You can then follow application specific guides
* [borg_backup](https://github.com/DoTheEvo/selfhosted-apps-docker) - backup utility
* [ddclient](https://github.com/DoTheEvo/selfhosted-apps-docker) - automatic DNS update
* [dnsmasq](https://github.com/DoTheEvo/selfhosted-apps-docker) - DNS and DHCP server
* [dcts](https://github.com/StarWhiz/docker_deployment_notes/tree/master/dcts) - Discord alternative
* [gotify / ntfy / signal](https://github.com/DoTheEvo/selfhosted-apps-docker) - instant notifications apps
* [frigate](https://github.com/DoTheEvo/selfhosted-apps-docker) - managing security cameras
* [jellyfin](https://github.com/DoTheEvo/selfhosted-apps-docker) - video and music streaming

136
dcts/README.md

@ -0,0 +1,136 @@ @@ -0,0 +1,136 @@
This is a great alternative that's more similar to discord, and is self-hostable. Matrix is difficult and stoat / revolt is not exactly what I wanted.
It's to prepare for the discord IPO enshittification!
### Minimum File Structure
```
/home/
└── ~/
└── docker/
└── dcts/
├── docker-compose.yml
├── livekit.yaml
```
### Add to Caddyfile (from ~/docker/caddy)
Remember to `docker exec -w /etc/caddy caddy caddy reload` after editing your Caddyfile.
replace `dcts.yourdomain.com` with the actual subdomain you had put in as type A records in your DNS.
```
dcts.yourdomain.com {
reverse_proxy dcts-app:2052
}
dctsvc.yourdomain.com {
reverse_proxy dcts-livekit:7880
}
```
### docker-compose.yml
Change `YOURDBPASSWORD` in `DB_PASS`, `MARIADB_PASSWORD`, and `MARIA_RANDOM_ROOT_PASSWORD`
Change `dctsvc.yourdomain.com` with the actual subdomain you had put in as type A records in your DNS.
If you're not hosting on a VPS and are hosting at home make sure you port forward all the necessary external ports like 7881,7882, 3479, 5349.
```
services:
dcts-app:
image: ghcr.io/hackthedev/dcts-shipping:latest
container_name: dcts-app
depends_on:
- dcts-db
- dcts-livekit
environment:
- DB_HOST=dcts-db
- DB_USER=dcts
- DB_PASS=YOURDBPASSWORD
- DB_NAME=dcts
- LIVEKIT_URL=dctsvc.yourdomain.com # e.g., livekit.example.com
- LIVEKIT_KEY=EXAMPLEKEYkqo6gZw4=
- LIVEKIT_SECRET=EXAMPLESECRETpJQYlYQ5fkR/uY=
- DEBUG=false # optional
restart: unless-stopped
# ports:
# - 2052:2052
volumes:
- ./dcts/sv:/app/sv
- ./dcts/configs:/app/configs
- ./dcts/uploads:/app/public/uploads
- ./dcts/emojis:/app/public/emojis
- ./dcts/plugins:/app/plugins
networks:
- caddy_net
dcts-db:
image: mariadb:latest
container_name: dcts-db
environment:
- MARIADB_RANDOM_ROOT_PASSWORD=YOURDBPASSWORD
- MARIADB_DATABASE=dcts
- MARIADB_USER=dcts
- MARIADB_PASSWORD=YOURDBPASSWORD
volumes:
- ./dcts-db-data:/var/lib/mysql
networks:
- caddy_net
dcts-redis:
image: redis:alpine
container_name: dcts-redis
volumes:
- ./dcts-redis-data:/data
networks:
- caddy_net
dcts-livekit:
image: livekit/livekit-server:latest
container_name: dcts-livekit
command: --config /etc/livekit.yaml
volumes:
- ./livekit.yaml:/etc/livekit.yaml # LiveKit Config (https://github.com/hackthedev/dcts-shipping/blob/main/livekit.yaml)
ports:
# - 7880:7880 # LiveKit API/WebSocket, must be reverse proxied
- 7881:7881 # ICE/TCP signaling, expose directly
- 7882:7882/udp # ICE/UDP mux, expose directly
# Optional TURN ports
- 3479:3478/udp
- 5349:5349/tcp
networks:
- caddy_net
networks:
caddy_net:
external: true
```
### livekit.yaml
You'll need to create this file before you do a `docker compose up -d` otherwise compose will automatically create a blank directory called `livekit.yaml` which is an annoyance.
Make sure you change your keys to match what you had put in your `docker-compose.yml` above.
So please change `EXAMPLEKEYkqo6gZw4=` : and `EXAMPLESECRETpJQYlYQ5fkR/uY=` from the example below.
```
port: 7880
rtc:
tcp_port: 7881
udp_port: 7882
use_external_ip: true
enable_loopback_candidate: false
redis:
address: dcts-redis:6379
username: ""
password: ""
db: 0
use_tls: false
turn:
enabled: false
domain: your_turn_domain_if_enabled # e.g., turn.example.com
tls_port: 5349
udp_port: 3478
external_tls: true
keys:
EXAMPLEKEYkqo6gZw4=: EXAMPLESECRETpJQYlYQ5fkR/uY=
```
### Finalization
After you have set up your Caddyfile, docker-compose.yml, and livekit.yaml you are ready to launch!
Simply do `docker-compose up -d` and you're instance should deploy to the url you chose.
Loading…
Cancel
Save