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) + Contributors + > 👨🏾‍🍳 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