Files
workavia-drive/Documentation/docs/onprem/installation.md
T
Romaric Mourgues 88bd3b2a32 Clean documentation
2023-04-17 17:00:03 +02:00

79 lines
3.2 KiB
Markdown

# 🏗 Install on your server
## Use TDrive in SaaS
You can test or use TDrive in our SaaS : [chat.tdrive.app](https://chat.tdrive.app)
## Run TDrive 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 TDrive on your server with this command
```
git clone https://github.com/TDriveApp/TDrive.git
cd TDrive/tdrive
docker-compose -f docker-compose.onpremise.mongo.yml up -d
```
TDrive 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 TDrive right after the signup steps.
## Ship TDrive in production
See how to [manage configuration](./configuration/index.md)). And then how to [update security keys](./configuration/security.md).
### Update TDrive
```
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 TDrive 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 TDrive
> We deployed TDrive on production for companies of 10 to 50 users in a single node. We also deployed TDrive in a scalable mode and we support currently thousands of concurrent users.
> If you deploy TDrive in your own company we would love to have your feedback here [https://github.com/TDriveApp/TDrive/issues/289](https://github.com/TDriveApp/TDrive/issues/289) to improve our requirements documentation.
> Now if you want to scale with TDrive and support thousand of users, continue reading.
Scaling with TDrive is possible if you install TDrive with **RabbitMQ, Redis, ElasticSearch and ScyllaDB**.
```
git clone https://github.com/TDriveApp/TDrive.git
cd TDrive/tdrive
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 TDrive 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_tdrive` (create the folder if it doesn't exists in your docker-compose.yml folder)
TDrive will be running on port 8000 🎉