docker
anddocker-compose
- Postgres
- Python 3.12
python-pdm
Bringing up of infra.xithrius.cloud
- Cloning
git clone https://github.com/Xithrius/infra.xithrius.cloud
- Environment variables
cp .env.sample .env
Put a password into POSTGRES_PASSWORD
and "infra"
into POSTGRES_USER
Important
If you're setting up for production, you can place a discord webhook into WATCHTOWER_NOTIFICATION_URL
if you plan to use watchtower.
- Creating the Postgres container
cd infra.xithrius.cloud/scripts
./create-networks.sh
./setup-postgres.sh infra xythrion xythrion xythrion
- Copy the
.env.sample
file to.env
cp .env.sample .env
- Place your key in
XYTHRION_BOT_TOKEN
in the.env
file, and whatever prefix you'd like (such as";"
) intoXYTHRION_BOT_PREFIX
- (For development) Install pre-commit hooks using
pdm precommit
- (first time installation) run
pdm upgrade
to run database migrations - Run the API via
pdm api
- Finally get the bot up by
pdm bot
- Run
docker compose up -d
- (If in a production environment) run
loginctl enable-linger
such that detached containers don't exit when you logout - (Optional) run all the Grafana/Prometheus/Tempo/Loki containers from infra.xithrius.cloud to get realtime metrics.