79 lines
3.3 KiB
Markdown
79 lines
3.3 KiB
Markdown
# 🏗 Install on your server
|
|
|
|
## Use Twake in SaaS
|
|
|
|
You can test or use Twake in our SaaS : [chat.twake.app](https://chat.twake.app)
|
|
|
|
## Run Twake in your server
|
|
|
|
1. First you'll need to [install docker and docker-compose](https://docs.docker.com/compose/install/).
|
|
|
|
2. Then you can install Twake on your server with this command
|
|
|
|
```
|
|
git clone https://github.com/TwakeApp/Twake.git
|
|
cd Twake/twake
|
|
docker-compose -f docker-compose.onpremise.mongo.yml up -d
|
|
```
|
|
|
|
Twake will be running on port 3000
|
|
|
|
### What's next ?
|
|
|
|
If you kept the default configuration, you can simply follow the signup steps, no email verification is required by default so you will get into Twake right after the signup steps.
|
|
|
|
## Ship Twake in production
|
|
|
|
See how to [manage configuration](./configuration/index.md)). And then how to [update security keys](./configuration/security.md), and finally how to use your [custom domain](./configuration/custom-domain-and-https/README.md)).
|
|
|
|
### Update Twake
|
|
|
|
```
|
|
docker-compose stop
|
|
docker-compose rm #Remove images (not volumes so your data is safe)
|
|
docker-compose pull #Get new images
|
|
docker-compose up -d
|
|
docker-compose exec nginx yarn build #If you have custom frontend configuration
|
|
```
|
|
|
|
## Requirements and scalability
|
|
|
|
Currently you'll need at least a **2 cpu + 4 gb of ram** machine for **20-50 users** depending on their usage and with ElasticSearch disabled.
|
|
|
|
If you enable ElasticSearch, use two machines, or limit the cpu/ram dedicated to it and use a larger machine (at least 2gb of ram and 1 cpu dedicated to ES for 20-50 users).
|
|
|
|
If you need to deploy Twake for more users, you can use only one big machine up to 500 users (Will need something like **12 cpu and 32go of ram**), then you'll need to use multiple nodes.
|
|
|
|
---
|
|
|
|
# 🎡 Scale with Twake
|
|
|
|
> We deployed Twake on production for companies of 10 to 50 users in a single node. We also deployed Twake in a scalable mode and we support currently thousands of concurrent users.
|
|
> If you deploy Twake in your own company we would love to have your feedback here [https://github.com/TwakeApp/Twake/issues/289](https://github.com/TwakeApp/Twake/issues/289) to improve our requirements documentation.
|
|
> Now if you want to scale with Twake and support thousand of users, continue reading.
|
|
|
|
Scaling with Twake is possible if you install Twake with **RabbitMQ, Redis, ElasticSearch and ScyllaDB**.
|
|
|
|
```
|
|
git clone https://github.com/TwakeApp/Twake.git
|
|
cd Twake/twake
|
|
|
|
cp -n docker-compose.yml.dist.onpremise docker-compose.yml
|
|
cp -nR default-configuration/ configuration/
|
|
|
|
docker-compose pull
|
|
|
|
docker-compose up -d scylladb
|
|
sleep 5m #Wait scylladb to startup
|
|
docker-compose up -d php rabbitmq
|
|
sleep 10m #Wait php to create tables in scylladb
|
|
|
|
docker-compose up -d
|
|
```
|
|
|
|
> To run ElasticSearch (optional, but enabled by default in the Twake docker-compose) you must increase the max_map_count of your system: [https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#\_set_vm_max_map_count_to_at_least_262144](https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_set_vm_max_map_count_to_at_least_262144)
|
|
>
|
|
> To fix an other bug with ElasticSearch container, you must also run this command: `chmod 777 ./docker-data/es_twake` (create the folder if it doesn't exists in your docker-compose.yml folder)
|
|
|
|
Twake will be running on port 8000 🎉
|