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]
# For rauthy:
COOKIE_MODE=danger-insecure
- Install and host an instance of rauthy. Documentation on how to do this can be found here.
- 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 compose project and fill in the values to your liking. -
Create a
rauthy.cfg
in the root of the compose project and fill in the values according to the rauthy documentation. A reference config is included on that page.!!! tip
rauthy also supports PostgreSQL as a database backend, but comes with [Hiqlite](https://github.com/sebadob/hiqlite) as a default database backend.fe
-
Adjust ports in
docker-compose.yml
if needed. -
Run
docker compose up --build
.
If you haven't edited the corresponding rauthy.cfg
settings, the default user for rauthy is admin@localhost.de
.
The password will be generated at first launch and you can discover it using docker compose logs
.
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
.