mirror of
https://framagit.org/framasoft/framaspace/argos.git
synced 2025-04-28 18:02:41 +02:00
64 lines
1.5 KiB
Markdown
64 lines
1.5 KiB
Markdown
# Installation
|
|
|
|
## Requirements
|
|
|
|
- Python 3.11+
|
|
- PostgreSQL 13+
|
|
|
|
## Getting dependencies
|
|
|
|
Once you got the source locally, create a virtualenv and install the dependencies:
|
|
|
|
```bash
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
pip install -e .
|
|
```
|
|
|
|
## Configure
|
|
|
|
The quickest way to get started is to copy the `config-example.yaml` file and edit it:
|
|
|
|
```bash
|
|
cp config-example.yaml config.yaml
|
|
```
|
|
|
|
You can read more about the configuration in the [configuration section](../configuration.md).
|
|
|
|
## Starting the server
|
|
|
|
Environment variables are used to configure the server. You can also put them in an `.env` file:
|
|
|
|
```{literalinclude} ../../.env.example
|
|
---
|
|
caption: .env
|
|
---
|
|
```
|
|
|
|
Then you can start the server:
|
|
|
|
```bash
|
|
argos server start
|
|
```
|
|
|
|
The server reads the `yaml` file at startup, and populates the tasks queue with the checks defined in the configuration.
|
|
|
|
## Running the agent
|
|
|
|
You can run the agent on the same machine as the server, or on a different machine. The only requirement is that the agent can reach the server.
|
|
|
|
```bash
|
|
argos agent http://localhost:8000 "<auth-token>"
|
|
```
|
|
|
|
## Running cleaning tasks
|
|
|
|
You also have to run cleaning tasks periodically. `argos server clean --help` will give you more information on how to do that.
|
|
|
|
Here is a crontab example:
|
|
|
|
```bash
|
|
# Run the cleaning tasks every hour (at minute 7)
|
|
# Keeps the last 100000 results, and locks the tasks for 1 hour
|
|
7 * * * * argos server cleandb --max-results 100000 --max-lock-seconds 3600
|
|
```
|