mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2024-11-28 19:01:02 +00:00
Merge pull request #453 from SethFalco/contributing-guide
docs: add contributing guide
This commit is contained in:
commit
c45a62778d
2 changed files with 90 additions and 45 deletions
88
CONTRIBUTING.md
Normal file
88
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
If you want to make changes to the code, you can build from source, and run the API.
|
||||||
|
|
||||||
|
## Build Dependencies
|
||||||
|
|
||||||
|
* cmake
|
||||||
|
|
||||||
|
### Debian / Ubuntu
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt-get install cmake
|
||||||
|
```
|
||||||
|
|
||||||
|
### Fedora / RHEL
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo dnf install cmake
|
||||||
|
```
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/LibreTranslate/LibreTranslate.git
|
||||||
|
cd LibreTranslate
|
||||||
|
pip install -e .
|
||||||
|
libretranslate [args]
|
||||||
|
|
||||||
|
# Or
|
||||||
|
python main.py [args]
|
||||||
|
```
|
||||||
|
|
||||||
|
Then open a web browser to <http://localhost:5000>
|
||||||
|
|
||||||
|
## Run with Docker
|
||||||
|
|
||||||
|
Linux/macOS: `./run.sh [args]`
|
||||||
|
Windows: `run.bat [args]`
|
||||||
|
|
||||||
|
Then open a web browser to <http://localhost:5000>
|
||||||
|
|
||||||
|
## Build with Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -f docker/Dockerfile [--build-arg with_models=true] -t libretranslate .
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to run the Docker image in a complete offline environment, you need to add the `--build-arg with_models=true` parameter. Then the language models are downloaded during the build process of the image. Otherwise, these models get downloaded on the first run of the image/container.
|
||||||
|
|
||||||
|
Run the built image:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -it -p 5000:5000 libretranslate [args]
|
||||||
|
```
|
||||||
|
|
||||||
|
Or build and run using Docker Compose:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
> Feel free to change the [`docker-compose.yml`](https://github.com/LibreTranslate/LibreTranslate/blob/main/docker-compose.yml) file to adapt it to your deployment needs, or use an extra `docker-compose.prod.yml` file for your deployment configuration.
|
||||||
|
>
|
||||||
|
> The models are stored inside the container under `/home/libretranslate/.local/share` and `/home/libretranslate/.local/cache`. Feel free to use volumes if you do not want to redownload the models when the container is destroyed. To update the models, use the `--update-models` argument.
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
### Externally Managed Environment
|
||||||
|
|
||||||
|
Some users may encounter the following error while installing packages:
|
||||||
|
|
||||||
|
```
|
||||||
|
error: externally-managed-environment
|
||||||
|
|
||||||
|
× This environment is externally managed
|
||||||
|
╰─> To install Python packages system-wide, try apt install
|
||||||
|
python3-xyz, where xyz is the package you are trying to
|
||||||
|
install.
|
||||||
|
|
||||||
|
…
|
||||||
|
```
|
||||||
|
|
||||||
|
This occurs when your operating system depends on and manages Python for core functionality. In this case, you should install and setup venv (virtual environments) to manage project dependencies.
|
||||||
|
|
||||||
|
This prevents pip packages from being installed system-wide. This way, there are no risks of pip packages conflicting between multiple projects or the operating system.
|
||||||
|
|
||||||
|
References:
|
||||||
|
* [Python venv documentation](https://docs.python.org/library/venv.html)
|
47
README.md
47
README.md
|
@ -112,50 +112,7 @@ On Ubuntu 20.04 you can also use the install script available at <https://github
|
||||||
|
|
||||||
## Build and Run
|
## Build and Run
|
||||||
|
|
||||||
If you want to make changes to the code, you can build from source, and run the API:
|
See [CONTIRBUTING.md](./CONTRIBUTING.md) for information on how to build and run the project yourself.
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/LibreTranslate/LibreTranslate
|
|
||||||
cd LibreTranslate
|
|
||||||
pip install -e .
|
|
||||||
libretranslate [args]
|
|
||||||
|
|
||||||
# Or
|
|
||||||
python main.py [args]
|
|
||||||
```
|
|
||||||
|
|
||||||
Then open a web browser to <http://localhost:5000>
|
|
||||||
|
|
||||||
### Run with Docker
|
|
||||||
|
|
||||||
Linux/MacOS: `./run.sh [args]`
|
|
||||||
Windows: `run.bat [args]`
|
|
||||||
|
|
||||||
Then open a web browser to <http://localhost:5000>
|
|
||||||
|
|
||||||
### Build with Docker
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker build -f docker/Dockerfile [--build-arg with_models=true] -t libretranslate .
|
|
||||||
```
|
|
||||||
|
|
||||||
If you want to run the Docker image in a complete offline environment, you need to add the `--build-arg with_models=true` parameter. Then the language models are downloaded during the build process of the image. Otherwise these models get downloaded on the first run of the image/container.
|
|
||||||
|
|
||||||
Run the built image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run -it -p 5000:5000 libretranslate [args]
|
|
||||||
```
|
|
||||||
|
|
||||||
Or build and run using `docker-compose`:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker-compose up -d --build
|
|
||||||
```
|
|
||||||
|
|
||||||
> Feel free to change the [`docker-compose.yml`](https://github.com/LibreTranslate/LibreTranslate/blob/main/docker-compose.yml) file to adapt it to your deployment needs, or use an extra `docker-compose.prod.yml` file for your deployment configuration.
|
|
||||||
>
|
|
||||||
> The models are stored inside the container under `/home/libretranslate/.local/share` and `/home/libretranslate/.local/cache`. Feel free to use volumes if you do not want to redownload the models when the container is destroyed. To update the models, use the `--update-models` argument.
|
|
||||||
|
|
||||||
### CUDA
|
### CUDA
|
||||||
|
|
||||||
|
@ -164,7 +121,7 @@ You can use hardware acceleration to speed up translations on a GPU machine with
|
||||||
Run this version with:
|
Run this version with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose -f docker-compose.cuda.yml up -d --build
|
docker compose -f docker-compose.cuda.yml up -d --build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Arguments
|
## Arguments
|
||||||
|
|
Loading…
Reference in a new issue