Docs/docs/api/installation.md
profitroll 219e497996
All checks were successful
Tests / test (3.10) (push) Successful in 8s
Tests / test (3.11) (push) Successful in 9s
Tests / test (3.9) (push) Successful in 8s
Fixed link to api/configuration.md
2024-05-13 23:44:54 +02:00

3.0 KiB

Installation

Requirements

Installation process

This manual assumes that your default Python interpreter is called python and is Python 3 of the compatible version.

??? question "What Python interpreter do I use?"

Python may have multiple instances installed on your machine.
On some Linux machines Python 2.7 is the default interpreter called `python`
and Python 3 is called `python3` or `python39`.  

You can check which Python version you use using following methods:

=== "Linux"

    Check which interpreter is used:

    ``` sh title="Shell"
    which python
    ```

    and check the Python version:

    ``` sh title="Shell"
    python -V
    ```

    You can also change default python as follows:

    ``` sh title="Shell"
    sudo update-alternatives --config python
    ```

=== "Windows"

    Check which interpreters are available:

    ``` sh title="Terminal"
    where python
    ```

    and check the Python version used by default:

    ``` sh title="Terminal"
    python -V
    ```

    You can also change default python using [this guide](https://stackoverflow.com/a/68139696).

Next, use the interpreter of choice instead of `python` during the installation:

``` shell title="Shell"
/usr/local/bin/python311 -m venv .venv
```

Please note that after the activation of a virtual environment, interpreter you need
already has a correct alias and is called `python` regardless of the version.

Install Mongo

Please follow the official installation manual for that.

Clone the source code

# Clone the repository
git clone https://git.end-play.xyz/GarbageReminder/API.git
# Then go the repository's directory
cd API

Create virtual environment

=== "Linux"

Create virtual environment and activate it:

``` powershell title="Shell"
python -m pip install virtualenv
virtualenv .venv
.venv/bin/activate
```

=== "Windows"

Create virtual environment and activate it:

``` powershell title="Terminal"
python -m pip install virtualenv
virtualenv .venv
.venv\Scripts\Activate.ps1
```

Install the requirements

python -m pip install -r requirements.txt

Configure the API server

This is a minimal configuration needed for the first start. For more config keys visit the configuration section in the documentation.

  1. Copy file example to the config file

    cp config_example.json config.json
    
  2. Open config.json with your favorite text editor

  3. Change keys in the "database" section to match your MongoDB setup

Start the API server

You can run your API by the following command:
uvicorn main:app --host 127.0.0.1 --port 3000

Learn more about available uvicorn arguments using uvicorn --help