From 7584d2d7a7110aef0331ebfa178b2295842c59fa Mon Sep 17 00:00:00 2001
From: MCMXC <16797721+mcmxcdev@users.noreply.github.com>
Date: Sat, 10 Feb 2024 18:19:14 -0700
Subject: refactor: project maintenance
- work in progress
---
README.md | 100 +++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 56 insertions(+), 44 deletions(-)
(limited to 'README.md')
diff --git a/README.md b/README.md
index dc5b648..09669fb 100644
--- a/README.md
+++ b/README.md
@@ -3,10 +3,13 @@
# Server
- [![Docker Build and Publish](https://github.com/ferdium/ferdium-server/actions/workflows/docker.yml/badge.svg)](https://github.com/ferdium/ferdium-server/actions/workflows/docker.yml)
+
+[![Docker Build and Publish](https://github.com/ferdium/ferdium-server/actions/workflows/docker.yml/badge.svg)](https://github.com/ferdium/ferdium-server/actions/workflows/docker.yml)
+
+
> 👨🏾🍳 Server for [Ferdium](https://ferdium.org) that you can re-use to run your own
@@ -23,6 +26,7 @@ A custom server allows you to manage the data of all registered users yourself a
## Features
+
- [x] User registration and login
- [x] Service creation, download, listing and removing
- [x] Workspace support
@@ -45,47 +49,49 @@ After setting up the docker container we recommend you set up an NGINX reverse p
1. Pull the Docker image
- ```sh
- docker pull ferdium/ferdium-server:latest
- ```
-2. Create a *new* Docker container with your desired configuration **Existing users please seee the warning above.**
-
- ```sh
- docker create \
- --name=ferdium-server \
- -e NODE_ENV=development \
- -e APP_URL= \
- -e DB_CONNECTION= \
- -e DB_HOST= \
- -e DB_PORT= \
- -e DB_USER= \
- -e DB_PASSWORD= \
- -e DB_DATABASE= \
- -e DB_SSL=false \
- -e MAIL_CONNECTION=smtp \
- -e SMTP_HOST= \
- -e SMTP_PORT= \
- -e MAIL_SSL=true/false \
- -e MAIL_USERNAME= \
- -e MAIL_PASSWORD= \
- -e MAIL_SENDER= \
- -e IS_CREATION_ENABLED=true \
- -e IS_DASHBOARD_ENABLED=true \
- -e IS_REGISTRATION_ENABLED=true \
- -e CONNECT_WITH_FRANZ=true \
- -e DATA_DIR=data \
- -p :3333 \
- -v :/data \
- -v :/app/recipes \
- --restart unless-stopped \
- ferdium/ferdium-server:latest
- ```
-
- Alternatively, you can also use docker-compose v2 schema. An example can be found [in the docker folder](./docker/docker-compose.yml).
+ ```sh
+ docker pull ferdium/ferdium-server:latest
+ ```
+
+2. Create a _new_ Docker container with your desired configuration **Existing users please seee the warning above.**
+
+ ```sh
+ docker create \
+ --name=ferdium-server \
+ -e NODE_ENV=development \
+ -e APP_URL= \
+ -e DB_CONNECTION= \
+ -e DB_HOST= \
+ -e DB_PORT= \
+ -e DB_USER= \
+ -e DB_PASSWORD= \
+ -e DB_DATABASE= \
+ -e DB_SSL=false \
+ -e MAIL_CONNECTION=smtp \
+ -e SMTP_HOST= \
+ -e SMTP_PORT= \
+ -e MAIL_SSL=true/false \
+ -e MAIL_USERNAME= \
+ -e MAIL_PASSWORD= \
+ -e MAIL_SENDER= \
+ -e IS_CREATION_ENABLED=true \
+ -e IS_DASHBOARD_ENABLED=true \
+ -e IS_REGISTRATION_ENABLED=true \
+ -e CONNECT_WITH_FRANZ=true \
+ -e DATA_DIR=data \
+ -p :3333 \
+ -v :/data \
+ -v :/app/recipes \
+ --restart unless-stopped \
+ ferdium/ferdium-server:latest
+ ```
+
+ Alternatively, you can also use docker-compose v2 schema. An example can be found [in the docker folder](./docker/docker-compose.yml).
3. Optionally, you can [set up Nginx as a reverse proxy](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04#set-up-nginx-as-a-reverse-proxy-server).
For more information on configuring the Docker image, please read [the Ferdium docker documentation](./docker/README.md).
+
Manual setup
@@ -97,26 +103,29 @@ For more information on configuring the Docker image, please read [the Ferdium d
5. Run `npm install` to install local dependencies
6. Run the database migrations with
- ```js
- node ace migration:run
- ```
+ ```js
+ node ace migration:run
+ ```
7. Start the server with
- ```js
- npm start
- ```
+ ```js
+ npm start
+ ```
+
Configuration
Ferdium-server's configuration is saved inside an `.env` file. Besides AdonisJS's settings, Ferdium-server has the following custom settings:
+
- `IS_CREATION_ENABLED` (`true` or `false`, default: `true`): Whether to enable the [creation of custom recipes](#creating-and-using-custom-recipes)
- `IS_REGISTRATION_ENABLED` (`true` or `false`, default: `true`): Whether to enable the creation of new user accounts
- `IS_DASHBOARD_ENABLED` (`true` or `false`, default: `true`): Whether to enable the user dashboard
- `CONNECT_WITH_FRANZ` (`true` or `false`, default: `true`): Whether to enable connections to the Franz server. By enabling this option, Ferdium-server can:
- Show the full Franz recipe library instead of only custom recipes
- Import Franz accounts
+
Importing your Franz/Ferdi account
@@ -124,11 +133,13 @@ Ferdium-server's configuration is saved inside an `.env` file. Besides AdonisJS'
Ferdium-server allows you to import your full Franz/Ferdi account, including all its settings.
To import your Franz/Ferdi account, open `http://[YOUR FERDIUM-SERVER]/import` in your browser and login using your Franz/Ferdi account details. Ferdium-server will create a new user with the same credentials and copy your Franz/Ferdi settings, services and workspaces.
+
Transferring user data
Please refer to
+
Creating and using custom recipes
@@ -149,6 +160,7 @@ To add your recipe to Ferdium-server, open `http://[YOUR FERDIUM-SERVER]/new` in
Listing custom recipes
Inside Ferdium, searching for `ferdium:custom` will list all of your custom recipes.
+
## Contributing
--
cgit v1.2.3-70-g09d2