API supporting the Jonas_Jones project infrastructure.
As of now, the project has no proper production build and unless the proper environment variables are set, the API will not work.
Clone the repository and install the dependencies.
git clone [email protected]:J-onasJones/jonas_jones-api.git
cd jonas_jones-api
cargo build
To run the API, simply run the following command.
cargo run
If you want to run the API in a production environment, you will need to set the following environment variables.
- API_PORT
- API_IP
- LASTFM_API_KEY
- LASTFM_API_SECRET
export API_PORT={port}
export API_IP={ip_address}
export LASTFM_API_KEY={lastfm_api_key}
export LASTFM_API_SECRET={lastfm_api_secret}
docker-compose.yaml
(folder paths need adjusting):
version: '3.8'
services:
arch-linux:
image: archlinux:latest
container_name: jonas_jones-api
ports:
- "3030:3030"
volumes:
- /home/jonas_jones/jonas_jones-api:/home/jonas_jones/jonas_jones-api
- /home/jonas_jones/.config/rclone/:/root/.config/rclone/
command: ["sh", "-c", "pacman -Syu --noconfirm --needed pkg-config openssl python3 python-pip rclone cargo && python3 -m venv api-venv && source api-venv/bin/activate && cd /home/jonas_jones/jonas_jones-api && pip install -r requirements.txt && /usr/bin/cargo run"]
run container:
docker-compose up -d
- analytics backend. track request origin through IP from header (store IP hash, region and time)
- rewrite all scripts in rust
- DB implementation for projects, kcomebacks, minecraft mod versions
- session backend, auth token system
- implementation for dashboard front-end with analytics/config
- complete minecraft mod implementation