diff --git a/README.md b/README.md index 546a4b8..9a6961e 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,34 @@ # 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 +![Nova, the foxgirl mascot of Magnetar, themed purple, orange, and blue](/doc/nova.webp) + **This project is in early development.** ## Quick start - 1. Create a Postgres database - 2. Create a Redis instance - 3. Configure the required options in `config/default.toml` - 4. Build Magnetar: `cargo build --release --workspace --bins` - 5. Build the Magnetar Calckey frontend: `cd fe_calckey/frontend && pnpm install && pnpm run build` - 6. Run Magnetar: `./target/release/magnetar` - 7. Build and run [a modified version of Calckey](https://git.astolfo.cool/natty/calckey), - pointed to the same database and Redis - 8. Start up the Magnetar frontend: `./target/release/magnetar_calckey_fe` - 9. Set up a reverse proxy based on `.dev/Caddyfile` +1. Create a Postgres database +2. Create a Redis instance +3. Configure the required options in `config/default.toml` +4. Build Magnetar: `cargo build --release --workspace --bins` +5. Build the Magnetar Calckey frontend: `cd fe_calckey/frontend && pnpm install && pnpm run build` +6. Run Magnetar: `./target/release/magnetar` +7. Build and run [a modified version of Calckey](https://git.astolfo.cool/natty/calckey), + pointed to the same database and Redis +8. Start up the Magnetar frontend: `./target/release/magnetar_calckey_fe` +9. Set up a reverse proxy based on `.dev/Caddyfile` Read further for additional information. ## What's inside 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. ## Additional dependencies @@ -43,30 +44,32 @@ Magnetar can be built both as standalone binaries or OCI containers (Podman, Doc ### Native Building the Magnetar backend requires: - - latest stable Rust toolchain + +- latest stable Rust toolchain Building the included Magnetar/Calckey frontend requires: - - latest stable Rust toolchain - - Node.js and npm + +- latest stable Rust toolchain +- Node.js and npm #### Steps - 1. Build both the frontend and the backend binaries: - ```shell - cargo build --release --workspace --bins - ``` - 2. Switch to the frontend directory: - ```shell - cd fe_calckey/frontend - ``` - 3. Install the frontend dependencies: - ```shell - pnpm install - ``` - 4. Build the frontend - ```shell - pnpm run build - ``` +1. Build both the frontend and the backend binaries: + ```shell + cargo build --release --workspace --bins + ``` +2. Switch to the frontend directory: + ```shell + cd fe_calckey/frontend + ``` +3. Install the frontend dependencies: + ```shell + pnpm install + ``` +4. Build the frontend + ```shell + pnpm run build + ``` ### Container build @@ -98,6 +101,6 @@ Alternatively, see the `config/default.toml` file and pass in corresponding envi ## 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. diff --git a/doc/nova.webp b/doc/nova.webp new file mode 100644 index 0000000..206f63c Binary files /dev/null and b/doc/nova.webp differ