Awesome
<div align="center"><img src="https://img.shields.io/static/v1?label=Status&message=Early%20Development&color=blue">
</div> <p align="center"> <img width="128" src="https://github.com/polyphony-chat/branding/blob/main/logos/polyphony-symfonia-transparent-8bit.png?raw=true" alt="The Symfonia logo. a dark, square background with rounded edges. on this background, there are four vertically stacked, purple lines. The lines are all vaguely u-shaped and resemble sound waves being emitted into one direction, with the lower lines being thicker and wider than the upper lines." /> <h1 align="center">Symfonia</h1> </p>About
This is a WIP implementation of a Spacebar compatible Server in Rust!
This repository contains: A partial implementation of:
Local Development Environment
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.
Non-Docker
- 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
.
Docker
- 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
.