Added Nova :3

This commit is contained in:
Natty 2024-12-03 02:42:11 +01:00
parent 5363a0c137
commit 50e1004784
Signed by: natty
GPG Key ID: BF6CB659ADEE60EC
2 changed files with 38 additions and 35 deletions

View File

@ -1,33 +1,34 @@
# magnetar # magnetar
![Magnetar logo, an 8-pointed star with two symmetrical cones](./fe_calckey/frontend/assets/favicon.png)
A social networking server anyone can self-host A social networking server anyone can self-host
![Nova, the foxgirl mascot of Magnetar, themed purple, orange, and blue](/doc/nova.webp)
**This project is in early development.** **This project is in early development.**
## Quick start ## Quick start
1. Create a Postgres database 1. Create a Postgres database
2. Create a Redis instance 2. Create a Redis instance
3. Configure the required options in `config/default.toml` 3. Configure the required options in `config/default.toml`
4. Build Magnetar: `cargo build --release --workspace --bins` 4. Build Magnetar: `cargo build --release --workspace --bins`
5. Build the Magnetar Calckey frontend: `cd fe_calckey/frontend && pnpm install && pnpm run build` 5. Build the Magnetar Calckey frontend: `cd fe_calckey/frontend && pnpm install && pnpm run build`
6. Run Magnetar: `./target/release/magnetar` 6. Run Magnetar: `./target/release/magnetar`
7. Build and run [a modified version of Calckey](https://git.astolfo.cool/natty/calckey), 7. Build and run [a modified version of Calckey](https://git.astolfo.cool/natty/calckey),
pointed to the same database and Redis pointed to the same database and Redis
8. Start up the Magnetar frontend: `./target/release/magnetar_calckey_fe` 8. Start up the Magnetar frontend: `./target/release/magnetar_calckey_fe`
9. Set up a reverse proxy based on `.dev/Caddyfile` 9. Set up a reverse proxy based on `.dev/Caddyfile`
Read further for additional information. Read further for additional information.
## What's inside ## What's inside
Magnetar builds to two primary binaries: Magnetar builds to two primary binaries:
- magnetar -- The backend
- magnetar_calckey_fe -- A web server hosting a self-contained frontend
The `fe_calckey/frontend` directory contains the - magnetar -- The backend
- magnetar_calckey_fe -- A web server hosting a self-contained frontend
The `fe_calckey/frontend` directory contains the
[Calckey](https://codeberg.org/firefish/firefish)-based web frontend. [Calckey](https://codeberg.org/firefish/firefish)-based web frontend.
## Additional dependencies ## Additional dependencies
@ -43,30 +44,32 @@ Magnetar can be built both as standalone binaries or OCI containers (Podman, Doc
### Native ### Native
Building the Magnetar backend requires: Building the Magnetar backend requires:
- latest stable Rust toolchain
- latest stable Rust toolchain
Building the included Magnetar/Calckey frontend requires: Building the included Magnetar/Calckey frontend requires:
- latest stable Rust toolchain
- Node.js and npm - latest stable Rust toolchain
- Node.js and npm
#### Steps #### Steps
1. Build both the frontend and the backend binaries: 1. Build both the frontend and the backend binaries:
```shell ```shell
cargo build --release --workspace --bins cargo build --release --workspace --bins
``` ```
2. Switch to the frontend directory: 2. Switch to the frontend directory:
```shell ```shell
cd fe_calckey/frontend cd fe_calckey/frontend
``` ```
3. Install the frontend dependencies: 3. Install the frontend dependencies:
```shell ```shell
pnpm install pnpm install
``` ```
4. Build the frontend 4. Build the frontend
```shell ```shell
pnpm run build pnpm run build
``` ```
### Container build ### Container build
@ -98,6 +101,6 @@ Alternatively, see the `config/default.toml` file and pass in corresponding envi
## Connecting all components ## Connecting all components
In order to connect all components of magnetar, a router/reverse proxy In order to connect all components of magnetar, a router/reverse proxy
is necessary. See `.dev/Caddyfile` for a template configuration. is necessary. See `.dev/Caddyfile` for a template configuration.

BIN
doc/nova.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB