@@ 1,7 1,9 @@ # Ravenserver Documentation
- [ravenserver](https://git.sr.ht/~nicohman/ravenserver) is a NodeJS-based online repository/package manager for raven themes. You can write your own client or bot easily using the API if you want.The main instance runs on [my website](https://demenses.net), and raven comes configured with that by default, but you can swap to your own easily.
+ [ravenserver](https://git.sr.ht/~nicohman/ravenserver-rs) is a rocket-based
+ online repository/package manager for raven themes written in rust. You can
+ write your own client or bot easily using the API if you want. The main instance runs on [my website](https://demenses.net), and raven comes configured with that by default, but you can swap to your own easily.
### REST API
@@ 49,35 51,12 @@ To set up your own instance, it's pretty easy. First, grab the code:
- *git clone https://git.sr.ht/~nicohman/ravenserver*
+ *git clone https://git.sr.ht/~nicohman/ravenserver-rs*
- Create a file named `config.json` in the directory you cloned, containing these fields:
+ You need to set the environment variable RAVENSERVER_SECRET to whatever your
+ secret should be for password encryption. Then, run
+ *cargo run --release*
- // This is the email address that emails should be sent from
- "user": String,
- // This is the host that ravenserver wll use to send the emails
- "host": String,
- // This is the password to the email account
- "pass": String,
- // This controls whether or not to display a link to the downloads page. You should probably leave this off.
- "include_downloads": Boolean,
- // The page to redirect users to on clicking the download page link
- "downloads_page": String,
- // The secret to sign JWT tokens with
- secret: String
- Then, you'll need to set up a MongoDB database on the server. It should be named themes, and ravenserver will handle the rest of the setup. Now, you're pretty much ready to go. Just start it up!
- *node app.js*
- I personally recommend using [pm2](https://github.com/Unitech/pm2) to manage it.
- *pm2 start app.js*
+ and it should be good to go. You may need to make a few tweaks in Rocket.toml
+ for things like ssl cert paths but otherwise you should be fine.