diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 100 |
1 files changed, 56 insertions, 44 deletions
@@ -3,10 +3,13 @@ | |||
3 | </p> | 3 | </p> |
4 | 4 | ||
5 | # Server | 5 | # Server |
6 | [![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) | 6 | |
7 | [![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) | ||
7 | 8 | ||
8 | <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> | 9 | <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> |
10 | |||
9 | <a href='#contributors-'><img src='https://img.shields.io/badge/contributors-17-default.svg?logo=github' alt='Contributors'/></a> | 11 | <a href='#contributors-'><img src='https://img.shields.io/badge/contributors-17-default.svg?logo=github' alt='Contributors'/></a> |
12 | |||
10 | <!-- ALL-CONTRIBUTORS-BADGE:END --> | 13 | <!-- ALL-CONTRIBUTORS-BADGE:END --> |
11 | 14 | ||
12 | > 👨🏾🍳 Server for [Ferdium](https://ferdium.org) that you can re-use to run your own | 15 | > 👨🏾🍳 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 | |||
23 | </details> | 26 | </details> |
24 | 27 | ||
25 | ## Features | 28 | ## Features |
29 | |||
26 | - [x] User registration and login | 30 | - [x] User registration and login |
27 | - [x] Service creation, download, listing and removing | 31 | - [x] Service creation, download, listing and removing |
28 | - [x] Workspace support | 32 | - [x] Workspace support |
@@ -45,47 +49,49 @@ After setting up the docker container we recommend you set up an NGINX reverse p | |||
45 | 49 | ||
46 | 1. Pull the Docker image | 50 | 1. Pull the Docker image |
47 | 51 | ||
48 | ```sh | 52 | ```sh |
49 | docker pull ferdium/ferdium-server:latest | 53 | docker pull ferdium/ferdium-server:latest |
50 | ``` | 54 | ``` |
51 | 2. Create a *new* Docker container with your desired configuration **Existing users please seee the warning above.** | 55 | |
52 | 56 | 2. Create a _new_ Docker container with your desired configuration **Existing users please seee the warning above.** | |
53 | ```sh | 57 | |
54 | docker create \ | 58 | ```sh |
55 | --name=ferdium-server \ | 59 | docker create \ |
56 | -e NODE_ENV=development \ | 60 | --name=ferdium-server \ |
57 | -e APP_URL=<ferdium-server-url> \ | 61 | -e NODE_ENV=development \ |
58 | -e DB_CONNECTION=<database> \ | 62 | -e APP_URL=<ferdium-server-url> \ |
59 | -e DB_HOST=<yourdbhost> \ | 63 | -e DB_CONNECTION=<database> \ |
60 | -e DB_PORT=<yourdbport> \ | 64 | -e DB_HOST=<yourdbhost> \ |
61 | -e DB_USER=<yourdbuser> \ | 65 | -e DB_PORT=<yourdbport> \ |
62 | -e DB_PASSWORD=<yourdbpass> \ | 66 | -e DB_USER=<yourdbuser> \ |
63 | -e DB_DATABASE=<yourdbdatabase> \ | 67 | -e DB_PASSWORD=<yourdbpass> \ |
64 | -e DB_SSL=false \ | 68 | -e DB_DATABASE=<yourdbdatabase> \ |
65 | -e MAIL_CONNECTION=smtp \ | 69 | -e DB_SSL=false \ |
66 | -e SMTP_HOST=<smtpmailserver> \ | 70 | -e MAIL_CONNECTION=smtp \ |
67 | -e SMTP_PORT=<smtpport> \ | 71 | -e SMTP_HOST=<smtpmailserver> \ |
68 | -e MAIL_SSL=true/false \ | 72 | -e SMTP_PORT=<smtpport> \ |
69 | -e MAIL_USERNAME=<yourmailusername> \ | 73 | -e MAIL_SSL=true/false \ |
70 | -e MAIL_PASSWORD=<yourmailpassword> \ | 74 | -e MAIL_USERNAME=<yourmailusername> \ |
71 | -e MAIL_SENDER=<sendemailaddress> \ | 75 | -e MAIL_PASSWORD=<yourmailpassword> \ |
72 | -e IS_CREATION_ENABLED=true \ | 76 | -e MAIL_SENDER=<sendemailaddress> \ |
73 | -e IS_DASHBOARD_ENABLED=true \ | 77 | -e IS_CREATION_ENABLED=true \ |
74 | -e IS_REGISTRATION_ENABLED=true \ | 78 | -e IS_DASHBOARD_ENABLED=true \ |
75 | -e CONNECT_WITH_FRANZ=true \ | 79 | -e IS_REGISTRATION_ENABLED=true \ |
76 | -e DATA_DIR=data \ | 80 | -e CONNECT_WITH_FRANZ=true \ |
77 | -p <port>:3333 \ | 81 | -e DATA_DIR=data \ |
78 | -v <path to data>:/data \ | 82 | -p <port>:3333 \ |
79 | -v <path to recipes>:/app/recipes \ | 83 | -v <path to data>:/data \ |
80 | --restart unless-stopped \ | 84 | -v <path to recipes>:/app/recipes \ |
81 | ferdium/ferdium-server:latest | 85 | --restart unless-stopped \ |
82 | ``` | 86 | ferdium/ferdium-server:latest |
83 | 87 | ``` | |
84 | Alternatively, you can also use docker-compose v2 schema. An example can be found [in the docker folder](./docker/docker-compose.yml). | 88 | |
89 | Alternatively, you can also use docker-compose v2 schema. An example can be found [in the docker folder](./docker/docker-compose.yml). | ||
85 | 90 | ||
86 | 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). | 91 | 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). |
87 | 92 | ||
88 | For more information on configuring the Docker image, please read [the Ferdium docker documentation](./docker/README.md). | 93 | For more information on configuring the Docker image, please read [the Ferdium docker documentation](./docker/README.md). |
94 | |||
89 | </details> | 95 | </details> |
90 | <details> | 96 | <details> |
91 | <summary>Manual setup</summary> | 97 | <summary>Manual setup</summary> |
@@ -97,26 +103,29 @@ For more information on configuring the Docker image, please read [the Ferdium d | |||
97 | 5. Run `npm install` to install local dependencies | 103 | 5. Run `npm install` to install local dependencies |
98 | 6. Run the database migrations with | 104 | 6. Run the database migrations with |
99 | 105 | ||
100 | ```js | 106 | ```js |
101 | node ace migration:run | 107 | node ace migration:run |
102 | ``` | 108 | ``` |
103 | 109 | ||
104 | 7. Start the server with | 110 | 7. Start the server with |
105 | 111 | ||
106 | ```js | 112 | ```js |
107 | npm start | 113 | npm start |
108 | ``` | 114 | ``` |
115 | |||
109 | </details> | 116 | </details> |
110 | <details> | 117 | <details> |
111 | <summary>Configuration</summary> | 118 | <summary>Configuration</summary> |
112 | 119 | ||
113 | Ferdium-server's configuration is saved inside an `.env` file. Besides AdonisJS's settings, Ferdium-server has the following custom settings: | 120 | Ferdium-server's configuration is saved inside an `.env` file. Besides AdonisJS's settings, Ferdium-server has the following custom settings: |
121 | |||
114 | - `IS_CREATION_ENABLED` (`true` or `false`, default: `true`): Whether to enable the [creation of custom recipes](#creating-and-using-custom-recipes) | 122 | - `IS_CREATION_ENABLED` (`true` or `false`, default: `true`): Whether to enable the [creation of custom recipes](#creating-and-using-custom-recipes) |
115 | - `IS_REGISTRATION_ENABLED` (`true` or `false`, default: `true`): Whether to enable the creation of new user accounts | 123 | - `IS_REGISTRATION_ENABLED` (`true` or `false`, default: `true`): Whether to enable the creation of new user accounts |
116 | - `IS_DASHBOARD_ENABLED` (`true` or `false`, default: `true`): Whether to enable the user dashboard | 124 | - `IS_DASHBOARD_ENABLED` (`true` or `false`, default: `true`): Whether to enable the user dashboard |
117 | - `CONNECT_WITH_FRANZ` (`true` or `false`, default: `true`): Whether to enable connections to the Franz server. By enabling this option, Ferdium-server can: | 125 | - `CONNECT_WITH_FRANZ` (`true` or `false`, default: `true`): Whether to enable connections to the Franz server. By enabling this option, Ferdium-server can: |
118 | - Show the full Franz recipe library instead of only custom recipes | 126 | - Show the full Franz recipe library instead of only custom recipes |
119 | - Import Franz accounts | 127 | - Import Franz accounts |
128 | |||
120 | </details> | 129 | </details> |
121 | <details> | 130 | <details> |
122 | <summary>Importing your Franz/Ferdi account</summary> | 131 | <summary>Importing your Franz/Ferdi account</summary> |
@@ -124,11 +133,13 @@ Ferdium-server's configuration is saved inside an `.env` file. Besides AdonisJS' | |||
124 | Ferdium-server allows you to import your full Franz/Ferdi account, including all its settings. | 133 | Ferdium-server allows you to import your full Franz/Ferdi account, including all its settings. |
125 | 134 | ||
126 | 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. | 135 | 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. |
136 | |||
127 | </details> | 137 | </details> |
128 | <details> | 138 | <details> |
129 | <summary>Transferring user data</summary> | 139 | <summary>Transferring user data</summary> |
130 | 140 | ||
131 | Please refer to <https://github.com/getferdi/ferdi/wiki/Transferring-data-between-servers> | 141 | Please refer to <https://github.com/getferdi/ferdi/wiki/Transferring-data-between-servers> |
142 | |||
132 | </details> | 143 | </details> |
133 | <details> | 144 | <details> |
134 | <summary>Creating and using custom recipes</summary> | 145 | <summary>Creating and using custom recipes</summary> |
@@ -149,6 +160,7 @@ To add your recipe to Ferdium-server, open `http://[YOUR FERDIUM-SERVER]/new` in | |||
149 | <summary>Listing custom recipes</summary> | 160 | <summary>Listing custom recipes</summary> |
150 | 161 | ||
151 | Inside Ferdium, searching for `ferdium:custom` will list all of your custom recipes. | 162 | Inside Ferdium, searching for `ferdium:custom` will list all of your custom recipes. |
163 | |||
152 | </details> | 164 | </details> |
153 | 165 | ||
154 | ## Contributing | 166 | ## Contributing |