This is a WIP implementation of a Spacebar compatible Server in Rust!
This repository contains: A partial implementation of:
Whether you are using Docker or not, you will need to have the following installed:
If your development environment is hosted on a Windows machine, please additionally make sure that you have a bash shell available to execute pre-commit hooks. This can be done by installing Git Bash or Windows Subsystem for Linux 2 and, additionally, configuring your IDE correctly.
See the instructions below for guidance on how to run the project.
- Install and host a PostgreSQL database
- Create a new database, and a user that has full access to that database
- Create a
.env
file in the root of the project with the following contents:
DATABASE_HOST=[ip/domain of your Postgres database]
DATABASE_PORT=[Postgres port, usually 5432]
DATABASE_USERNAME=[Your Postgres username]
DATABASE_PASSWORD=[Your Postgres password]
DATABASE_NAME=[Your Postgres database name]
API_BIND=[ip:port to bind the HTTP API server to. Defaults to 0.0.0.0:3001 if not set]
GATEWAY_BIND=[ip:port to bind the Gateway server to. Defaults to 0.0.0.0:3003 if not set]
- Install the sqlx CLI with
cargo install sqlx-cli
- Run
cargo sqlx migrate run
from within the project directory to run the migrations - Run the project with
cargo run
.
- Copy the
compose-example.env
file to.env
in the root of the project and fill in the values to your liking. - Adjust ports in
docker-compose.yml
if needed. - Run
docker compose up --build
.
Code changes will require you to restart the container with docker compose up --build
. If you want
to reset to a fully clean state, run docker compose down -v
.