docs: Update README.md

This commit is contained in:
divyam234 2024-02-09 00:52:59 +05:30
parent 66cdb5bac9
commit 32cef4576b

View file

@ -1,10 +1,6 @@
# Telegram Drive # Telegram Drive
Telegram Drive is a powerful utility that enables you to create your own cloud storage service using Telegram as the backend. Telegram Drive is a powerful utility that enables you to organise your telegram files and much more.
[![Discord](https://img.shields.io/discord/1142377485737148479?label=discord&logo=discord&style=flat-square&logoColor=white)](https://discord.gg/J2gVAZnHfP)
**Click on icon to join Discord Server for more advanced configurations for uploads and better support**
## Features ## Features
@ -12,7 +8,14 @@ Telegram Drive is a powerful utility that enables you to create your own cloud s
- **Secure:** Your data is secured using robust encryption. - **Secure:** Your data is secured using robust encryption.
- **Flexible Deployment:** Use Docker Compose or deploy without Docker. - **Flexible Deployment:** Use Docker Compose or deploy without Docker.
## Demo ## Advantages Over Alternative Solutions
- **Exceptional Speed:** Teldrive stands out among similar tools, thanks to its implementation in Go, a language known for its efficiency. Its performance surpasses alternatives written in Python and other languages, with the exception of Rust.
- **Enhanced Management Capabilities:** Teldrive not only excels in speed but also offers an intuitive user interface for efficient file interaction which other tool lacks. Its compatibility with Rclone further enhances file management.
> [!IMPORTANT]
> Teldrive functions as a wrapper over your Telegram account, simplifying file access. However, users must adhere to the limitations imposed by the Telegram API. Teldrive is not responsible for any consequences arising from non-compliance with these API limits.You will be banned instantly if you misuse telegram API.
![demo](./public/demo.png) ![demo](./public/demo.png)
@ -20,12 +23,56 @@ Telegram Drive is a powerful utility that enables you to create your own cloud s
### Deploy using docker-compose ### Deploy using docker-compose
First clone the repository ```docker
version: "3.8"
```sh services:
git clone https://github.com/divyam234/teldrive server:
cd teldrive image: ghcr.io/divyam234/teldrive/server
touch teldrive.db restart: always
container_name: teldrive
volumes:
- ./teldrive.db:/app/teldrive.db:rw
- ./logs:/app/logs:rw
env_file: teldrive.env
ports:
- 8080:8080
```
***People Who want to use local Postgres instance***
```docker
version: "3.8"
services:
server:
image: ghcr.io/divyam234/teldrive/server
restart: always
container_name: teldrive
volumes:
- ./teldrive.db:/app/teldrive.db:rw
env_file: teldrive.env
ports:
- 8080:8080
depends_on:
db:
condition: service_healthy
db:
image: postgres:15
container_name: teldrive_db
restart: always
environment:
- POSTGRES_USER=teldrive
- POSTGRES_PASSWORD=secret
volumes:
- teldrive_db:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "teldrive"]
interval: 10s
start_period: 30s
volumes:
teldrive_db:
``` ```
**Follow Below Steps** **Follow Below Steps**
@ -33,6 +80,7 @@ touch teldrive.db
- Create the `teldrive.env` file with your variables and start your container.See how to fill env file below. - Create the `teldrive.env` file with your variables and start your container.See how to fill env file below.
```sh ```sh
touch teldrive.db
docker compose up -d docker compose up -d
``` ```
- **Go to http://localhost:8080** - **Go to http://localhost:8080**
@ -57,6 +105,10 @@ APP_HASH=abc
JWT_SECRET=abc JWT_SECRET=abc
DATABASE_URL=postgres://<db username>:<db password>@<db host>/<db name> DATABASE_URL=postgres://<db username>:<db password>@<db host>/<db name>
``` ```
When used with local postgres instance above:
```
DATABASE_URL=postgres://POSTGRES_USER:POSTGRES_PASSWORD@db/teldrive
```
**Generate JWT** **Generate JWT**
```bash ```bash
$ openssl rand -hex 32 $ openssl rand -hex 32
@ -83,7 +135,7 @@ You can generate secret from [here](https://generate-secret.vercel.app/32).
| Variable | Default Value | Required | Description | | Variable | Default Value | Required | Description |
|--------------------|---------------|----------|-------------------------------------------------------------------------------------------| |--------------------|---------------|----------|-------------------------------------------------------------------------------------------|
| `HTTPS` | false | NO | Needed for cross domain setupNeeded for cross domain setup. | | `HTTPS` | false | NO | Needed for cross domain setup. |
| `PORT` | 8080 | NO | Change default listen port. | | `PORT` | 8080 | NO | Change default listen port. |
| `ALLOWED_USERS` | | NO | Allow certain Telegram usernames, including yours, to access the app. | | `ALLOWED_USERS` | | NO | Allow certain Telegram usernames, including yours, to access the app. |
| `COOKIE_SAME_SITE` | true | NO | Needed for cross domain setup. | | `COOKIE_SAME_SITE` | true | NO | Needed for cross domain setup. |