From 8337e2632686cf8d0dcf39474019370f7d3dc752 Mon Sep 17 00:00:00 2001 From: Michal Kostewicz Date: Fri, 5 Feb 2021 19:18:05 +0100 Subject: Moved getferdi/server-docker into getferdi/server repository. Add sample docker-compose file and update README.md files in root and docker directories. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 098ba16..9d1b02d 100644 --- a/README.md +++ b/README.md @@ -116,9 +116,11 @@ After setting up the docker container we recommend you to set up an NGINX revers - :80 restart: unless-stopped ``` + You can also use sample [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml) file. + 3. Optionally, you can now [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, visit the Docker image repository at . +For more information on configuring the Docker image, please read [./docker/README.md](https://github.com/getferdi/server/tree/master/docker/README.md). ### Manual setup 1. Clone this repository -- cgit v1.2.3-54-g00ecf From 02000d89159ba171cabbd341139871236f3df386 Mon Sep 17 00:00:00 2001 From: Michal Kostewicz Date: Sun, 7 Feb 2021 14:23:57 +0100 Subject: Revert line which choose DB folder using env. Move Dockerfile to root. Simplify export in entrypoint. Update README --- Dockerfile | 26 ++++++++++++++++++++++++++ README.md | 40 +--------------------------------------- config/database.js | 2 +- docker/Dockerfile | 27 --------------------------- docker/README.md | 1 + docker/docker-compose.yml | 6 +++--- docker/entrypoint.sh | 2 +- 7 files changed, 33 insertions(+), 71 deletions(-) create mode 100644 Dockerfile delete mode 100644 docker/Dockerfile (limited to 'README.md') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..416c503 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:lts-alpine as build + +WORKDIR /server-build + +RUN ["apk", "add", "--no-cache", "python", "make", "gcc", "g++", "libc-dev", "sqlite-dev"] + +COPY . /server-build + +RUN ["npm", "ci", "--production", "--build-from-source", "--sqlite=/usr/local"] + +FROM node:lts-alpine + +WORKDIR /app +LABEL maintainer="xthursdayx" + +ENV HOST=0.0.0.0 PORT=3333 + +RUN ["apk", "add", "--no-cache", "sqlite-libs", "curl"] + +COPY --from=build /server-build /app +RUN ["npm", "i", "-g", "@adonisjs/cli"] + +HEALTHCHECK --interval=5m --timeout=3s CMD curl -sSf http://localhost:${PORT}/health + +COPY docker/entrypoint.sh /entrypoint.sh +CMD ["/entrypoint.sh"] \ No newline at end of file diff --git a/README.md b/README.md index 9d1b02d..60de4fc 100644 --- a/README.md +++ b/README.md @@ -78,45 +78,7 @@ After setting up the docker container we recommend you to set up an NGINX revers getferdi/ferdi-server ``` - Alternatively, you can also use docker-compose v2 schemas - - ```sh - --- - version: "2" - services: - ferdi-server: - image: getferdi/ferdi-server - container_name: ferdi-server - environment: - - NODE_ENV=development - - EXTERNAL_DOMAIN= - - DB_CONNECTION= - - DB_HOST= - - DB_PORT= - - DB_USER= - - DB_PASSWORD= - - DB_DATABASE= - - DB_SSL=true/false - - MAIL_CONNECTION= - - SMPT_HOST= - - SMTP_PORT= - - MAIL_SSL=true/false - - MAIL_USERNAME= - - MAIL_PASSWORD= - - MAIL_SENDER= - - IS_CREATION_ENABLED=true/false - - IS_DASHBOARD_ENABLED=true/false - - IS_REGISTRATION_ENABLED=true/false - - CONNECT_WITH_FRANZ=true/false - volumes: - - :/config - - :/app/database - - :/app/recipes - ports: - - :80 - restart: unless-stopped - ``` - You can also use sample [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml) file. + Alternatively, you can also use docker-compose v2 schemas. An example can be found in [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml) file. 3. Optionally, you can now [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). diff --git a/config/database.js b/config/database.js index 6e08035..b7f57ad 100644 --- a/config/database.js +++ b/config/database.js @@ -31,7 +31,7 @@ module.exports = { sqlite: { client: 'sqlite3', connection: { - filename: `${Env.get('DATA_DIR', 'database')}/${Env.get('DB_DATABASE', 'development')}.sqlite`, + filename: Helpers.appRoot(`${Env.get('DATA_DIR', 'database')}/${Env.get('DB_DATABASE', 'development')}.sqlite`), }, useNullAsDefault: true, debug: Env.get('DB_DEBUG', false), diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index 799bb0b..0000000 --- a/docker/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM node:lts-alpine as build - -WORKDIR /server-build - -RUN ["apk", "add", "--no-cache", "python", "make", "gcc", "g++", "libc-dev", "sqlite-dev"] - -COPY . /server-build - -RUN ["npm", "ci", "--production", "--build-from-source", "--sqlite=/usr/local"] - -FROM node:lts-alpine - -WORKDIR /app -LABEL maintainer="xthursdayx" - -ENV HOST=0.0.0.0 PORT=3333 - -RUN ["apk", "add", "--no-cache", "sqlite-libs", "curl"] - -COPY --from=build /server-build /app -RUN ["touch", ".env"] -RUN ["npm", "i", "-g", "@adonisjs/cli"] - -HEALTHCHECK --interval=5m --timeout=3s CMD curl -sSf http://localhost:${PORT}/health - -COPY docker/entrypoint.sh /entrypoint.sh -CMD ["/entrypoint.sh"] \ No newline at end of file diff --git a/docker/README.md b/docker/README.md index 5daa9fc..995ca8a 100644 --- a/docker/README.md +++ b/docker/README.md @@ -101,6 +101,7 @@ After the first run, Ferdi-server's configuration is saved inside the `config.tx | `-e IS_DASHBOARD_ENABLED=true` | for specifying whether to enable the Ferdi-server dashboard, default is true | | `-e IS_REGISTRATION_ENABLED=true` | for specifying whether to allow user registration, default is true | | `-e CONNECT_WITH_FRANZ=true` | for specifying whether to enable connections to the Franz server, default is true | +| `-e DATA_DIR=database` | for specifying sql-lite database folder, default is database | | `-v :/config` | this will store persistent ENV data on the docker host | | `-v :/app/database` | this will strore Ferdi-server's database on the docker host for persistence | | `-v :/app/recipes` | this will strore Ferdi-server's recipes on the docker host for persistence | diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 364f9c3..8a8c795 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -24,10 +24,10 @@ services: - IS_DASHBOARD_ENABLED=true - IS_REGISTRATION_ENABLED=true - CONNECT_WITH_FRANZ=false - - DATA_DIR=/database + - DATA_DIR=my-database volumes: - ferdi-config-vol:/config - - ferdi-database-vol:/database + - ferdi-database-vol:/app/my-database - ferdi-recipes-vol:/app/recipes ports: - 3333:3333 @@ -35,4 +35,4 @@ services: volumes: ferdi-config-vol: ferdi-database-vol: - ferdi-recipes-vol: \ No newline at end of file + ferdi-recipes-vol: diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index cb0dd0f..667196e 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -33,7 +33,7 @@ elif [ -f "/config/FERDI_APP_KEY.txt" ]; echo "**** App Key set to $APP_KEY you can modify FERDI_APP_KEY.txt to update your key ****" fi -export APP_KEY=$APP_KEY +export APP_KEY node ace migration:run --force -- cgit v1.2.3-54-g00ecf From 0a3ce5a9e37dd917cfabdf97fdc18a41d88c65eb Mon Sep 17 00:00:00 2001 From: Michal Kostewicz Date: Tue, 9 Feb 2021 21:28:23 +0100 Subject: Fix all issues found on CR -> especially update README.md, remove creation of new config.txt, update ignore files. --- .dockerignore | 7 ++++--- .env.example | 2 +- .gitignore | 3 +-- README.md | 4 ++-- docker/.gitignore | 4 ---- docker/README.md | 16 +++++----------- docker/entrypoint.sh | 16 +++++----------- 7 files changed, 18 insertions(+), 34 deletions(-) (limited to 'README.md') diff --git a/.dockerignore b/.dockerignore index 7dad3a9..01c565b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,10 +7,11 @@ .gitattributes .cache -# ignore all markdown files (md) beside all README*.md other than README-secret.md +# ignore all markdown files *.md -!README*.md -README-secret.md + +# Ignore database files +*.sqlite # ignore other directories docker diff --git a/.env.example b/.env.example index b11a2cc..a11ce1f 100644 --- a/.env.example +++ b/.env.example @@ -10,7 +10,7 @@ CACHE_VIEWS=false APP_KEY= -DATA_DIR=database +DATA_DIR= DB_CONNECTION=sqlite DB_HOST=127.0.0.1 diff --git a/.gitignore b/.gitignore index 0f1f969..267390d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,8 +8,7 @@ tmp .env # The development sqlite file -database/development.sqlite -database/adonis.sqlite +*.sqlite # Uploaded recipes recipes/ diff --git a/README.md b/README.md index 60de4fc..2e0d9f9 100644 --- a/README.md +++ b/README.md @@ -78,11 +78,11 @@ After setting up the docker container we recommend you to set up an NGINX revers getferdi/ferdi-server ``` - Alternatively, you can also use docker-compose v2 schemas. An example can be found in [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml) file. + 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 now [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 [./docker/README.md](https://github.com/getferdi/server/tree/master/docker/README.md). +For more information on configuring the Docker image, please read [the ferdi docker documentation](./docker/README.md). ### Manual setup 1. Clone this repository diff --git a/docker/.gitignore b/docker/.gitignore index b726524..552cd4a 100644 --- a/docker/.gitignore +++ b/docker/.gitignore @@ -4,10 +4,6 @@ node_modules # Adonis directory for storing tmp files tmp -# The development sqlite file -database/development.sqlite -database/adonis.sqlite - # Uploaded recipes recipes/ diff --git a/docker/README.md b/docker/README.md index 8518e15..1cea8ae 100644 --- a/docker/README.md +++ b/docker/README.md @@ -76,9 +76,11 @@ The server will be launched at [http://localhost:3333/](http://localhost:3333/) ## Configuration -Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `:` respectively. For example, `-p 3333:80` would expose port `80` from inside the container to be accessible from the host's IP on port `3333` outside the container. -After the first run, Ferdi-server's default configuration is saved inside the `config.txt` file inside your persistent data directory (`/config` in the container). -If any environmental parameter is not passed to the container, its value will be taken from the `config.txt` file. You can also edit the `config.txt` file, but it is advisable to send the environment parameters to the container. +Container images are configured using parameters passed at runtime (such as those above). + +**Warning ,using `config.txt` will be deprecated in the future releases.** + +If any of environmental parameters is not passed to the container, its value will be taken from the `/config/config.txt` file. **The previous functionality of saving container parameters in this file is now removed.** | Parameter | Function | | :----: | --- | @@ -213,13 +215,5 @@ docker build \ -t getferdi/ferdi-server:latest . ``` -## Versions - -* **05.02.21:** - Repository moved to ferdi-server repository -* **19.01.21:** - Updated Mail SSL and DB SLL settings -* **20.09.20:** - Updated SMTP Mailer settings for password reset. -* **21.06.20:** - Rebase to Alpine 3.11 and added Mailer settings. -* **25.09.19:** - Initial Release. - ## License Ferdi-server-docker and ferdi-server are licensed under the MIT License. diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 0bbcb9d..eac3fc8 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -14,17 +14,11 @@ Support our Open Collective at: https://opencollective.com/getferdi/ EOL -# if config.txt doesn't exist then create one with default values -if [ ! -f /config/config.txt ]; then - cp /app/.env.example /config/config.txt -fi - -# use config.txt default values as .env file -if [ -f /app/.env ]; then - rm /app/.env - ln -s /config/config.txt /app/.env -elif [ ! -f /app/.env ]; then - ln -s /config/config.txt /app/.env +# use config.txt or .env.example parameter values as default if they are not passed to container +if [ -f /config/config.txt ]; then + cp /config/config.txt /app/.env +else + cp /app/.env.example /app/.env fi # Create APP key if needed -- cgit v1.2.3-54-g00ecf From c35e06538237a4e14134b9d38b9d3ddc643d9eac Mon Sep 17 00:00:00 2001 From: thursday Date: Sat, 10 Jul 2021 05:21:05 -0400 Subject: Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 40834e2..5e6147f 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ To add your recipe to ferdi-server, open `http://[YOUR FERDI-SERVER]/new` in you - `Author`: Author who created the recipe - `Name`: Name for your new service. Can contain spaces and unicode characters - `Service ID`: Unique ID for this recipe. Does not contain spaces or special characters (e.g. `google-drive`) -- `Link to PNG/SVG image`: Direct link to a 1024x1024 PNG image and SVG that is used as a logo inside the store. Please use jsDelivr when using a file uploaded to GitHub as raw.githubusercontent files won't load +- `Link to SVG image`: Direct link to a 1024x1024 SvG image that is used as a logo inside the store. Please use jsDelivr when using a file uploaded to GitHub as raw.githubusercontent files won't load/ - `Recipe files`: Recipe files that you created using the [Franz recipe creation guide](https://github.com/meetfranz/plugins/blob/master/docs/integration.md). Please do *not* package your files beforehand - upload the raw files (you can drag and drop multiple files). ferdi-server will automatically package and store the recipe in the right format. Please also do not drag and drop or select the whole folder, select the individual files. ### Listing custom recipes -- cgit v1.2.3-54-g00ecf From b185c426ddf1fdecfffac436bd411e3c45b61916 Mon Sep 17 00:00:00 2001 From: thursday Date: Mon, 12 Jul 2021 19:52:48 -0400 Subject: Update README.md Added a warning about the deprecation of config.txt in the docker image, made Ferdi-server capitalization consistent, and fixed grammar throughout. --- README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 38ab5bc..f3e8845 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,10 @@

-# ferdi-server +# Ferdi-server Official Server software for the [Ferdi Messaging Browser](https://getferdi.com) -- [ferdi-server](#ferdi-server) +- [Ferdi-server](#ferdi-server) - [Why use a custom Ferdi server?](#why-use-a-custom-ferdi-server) - [Features](#features) - [Setup](#setup) @@ -16,7 +16,7 @@ Official Server software for the [Ferdi Messaging Browser](https://getferdi.com) - [Transferring user data](#transferring-user-data) - [Creating and using custom recipes](#creating-and-using-custom-recipes) - [Listing custom recipes](#listing-custom-recipes) - - [Contributing to ferdi-server's development](#contributing-to-ferdi-servers-development) + - [Contributing to Ferdi-server's development](#contributing-to-ferdi-servers-development) - [License](#license) ## Why use a custom Ferdi server? @@ -30,7 +30,7 @@ If you are not interested in doing this you can use our official instance of Fer - [x] Workspace support - [x] Functioning service store - [x] User dashboard -- [x] Export/import data to other ferdi-servers +- [x] Export/import data to other Ferdi-servers - [ ] Password recovery - [ ] Recipe update @@ -39,7 +39,9 @@ If you are not interested in doing this you can use our official instance of Fer The easiest way to set up Ferdi server on your server is with Docker. The Docker image can be run as is, with the default sqlite database or you can modifying your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). -After setting up the docker container we recommend you to set up an NGINX reverse proxy to access ferdi-server outside of your home network and protect it with an SSL certificate. +After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. + +**Warning**, please note that the use of the previous `config.txt` is now deprecated. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) for more information. 1. Pull the Docker image @@ -126,26 +128,26 @@ Please refer to Date: Mon, 12 Jul 2021 22:17:19 -0400 Subject: Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index f3e8845..7865704 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ If you are not interested in doing this you can use our official instance of Fer ### with Docker The easiest way to set up Ferdi server on your server is with Docker. -The Docker image can be run as is, with the default sqlite database or you can modifying your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). +The Docker image can be run as is, with the default SQLite database or you can modifying your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. **Warning**, please note that the use of the previous `config.txt` is now deprecated. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) for more information. -- cgit v1.2.3-54-g00ecf From 9c21478009e5dbda8084c3fb6da9603ca157de9a Mon Sep 17 00:00:00 2001 From: thursday Date: Mon, 12 Jul 2021 22:41:45 -0400 Subject: Update README.md Further clarified migration pathway for existing users. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 7865704..5d93847 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ The easiest way to set up Ferdi server on your server is with Docker. The Docker image can be run as is, with the default SQLite database or you can modifying your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. -**Warning**, please note that the use of the previous `config.txt` is now deprecated. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) for more information. +**Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and local, the internal contianer port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) and the example [docker-compose.yml](./docker/docker-compose.yml) for more information. 1. Pull the Docker image @@ -73,7 +73,7 @@ After setting up the docker container we recommend you set up an NGINX reverse p -e IS_DASHBOARD_ENABLED=true \ -e IS_REGISTRATION_ENABLED=true \ -e CONNECT_WITH_FRANZ=true \ - -p :80 \ + -p :3333 \ -v :/config \ -v :/app/database \ -v :/app/recipes \ -- cgit v1.2.3-54-g00ecf From 744a4b341181604dbf1eeffc7c46575d72d2b70e Mon Sep 17 00:00:00 2001 From: thursday Date: Mon, 12 Jul 2021 22:49:27 -0400 Subject: Update README.md Further clarification for existing users. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 5d93847..277ce07 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ After setting up the docker container we recommend you set up an NGINX reverse p ```sh docker pull getferdi/ferdi-server ``` -2. Create a new Docker container with your desired configuration +2. Create a *new* Docker container with your desired configuration **Existing users please seee the warning above.** ```sh docker create \ @@ -73,6 +73,7 @@ After setting up the docker container we recommend you set up an NGINX reverse p -e IS_DASHBOARD_ENABLED=true \ -e IS_REGISTRATION_ENABLED=true \ -e CONNECT_WITH_FRANZ=true \ + -e DATA_DIR=data \ -p :3333 \ -v :/config \ -v :/app/database \ -- cgit v1.2.3-54-g00ecf From 90a3e2d92c242a7a318d26ee33b4ca056e8152fb Mon Sep 17 00:00:00 2001 From: thursday Date: Mon, 12 Jul 2021 22:52:48 -0400 Subject: Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 277ce07..a73b717 100644 --- a/README.md +++ b/README.md @@ -109,11 +109,11 @@ For more information on configuring the Docker image, please read [the ferdi doc ## Configuration -franz-server's configuration is saved inside the `.env` file. Besides AdonisJS's settings, ferdi-server has the following custom settings: +franz-server's configuration is saved inside an `.env` file. Besides AdonisJS's settings, Ferdi-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, ferdi-server can: +- `CONNECT_WITH_FRANZ` (`true` or `false`, default: `true`): Whether to enable connections to the Franz server. By enabling this option, Ferdi-server can: - Show the full Franz recipe library instead of only custom recipes - Import Franz accounts -- cgit v1.2.3-54-g00ecf From 1b7a2cd14f494df1d0b834dd218cc2da50ccc0df Mon Sep 17 00:00:00 2001 From: thursday Date: Tue, 13 Jul 2021 09:23:31 -0400 Subject: Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index a73b717..715208d 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ The easiest way to set up Ferdi server on your server is with Docker. The Docker image can be run as is, with the default SQLite database or you can modifying your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. -**Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and local, the internal contianer port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) and the example [docker-compose.yml](./docker/docker-compose.yml) for more information. +**Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and location, the internal container port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) and the example [docker-compose.yml](./docker/docker-compose.yml) for more information about migrating to the new image. 1. Pull the Docker image @@ -75,8 +75,7 @@ After setting up the docker container we recommend you set up an NGINX reverse p -e CONNECT_WITH_FRANZ=true \ -e DATA_DIR=data \ -p :3333 \ - -v :/config \ - -v :/app/database \ + -v :/data \ -v :/app/recipes \ --restart unless-stopped \ getferdi/ferdi-server -- cgit v1.2.3-54-g00ecf From 0f1bf1e42217f43f4846e4397b26759c148130a1 Mon Sep 17 00:00:00 2001 From: thursday Date: Sun, 18 Jul 2021 00:44:03 -0400 Subject: Update README.md --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 715208d..ec5563a 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,10 @@ Official Server software for the [Ferdi Messaging Browser](https://getferdi.com) - [Contributing to Ferdi-server's development](#contributing-to-ferdi-servers-development) - [License](#license) -## Why use a custom Ferdi server? +## Why use a custom Ferdi-server? A custom server allows you to manage the data of all registered users yourself and add your own recipes to the repository. -If you are not interested in doing this you can use our official instance of Ferdi server at . +If you are not interested in doing this you can use our official instance of Ferdi-server at . ## Features - [x] User registration and login @@ -30,16 +30,16 @@ If you are not interested in doing this you can use our official instance of Fer - [x] Workspace support - [x] Functioning service store - [x] User dashboard -- [x] Export/import data to other Ferdi-servers +- [x] Export/import data to other Ferdi servers - [ ] Password recovery - [ ] Recipe update ## Setup ### with Docker -The easiest way to set up Ferdi server on your server is with Docker. +The easiest way to set up Ferdi-server on your server is with Docker. -The Docker image can be run as is, with the default SQLite database or you can modifying your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). -After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. +The Docker image can be run as is, with the default SQLite database or you can modify your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). +After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi server outside of your home network and protect it with an SSL certificate. **Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and location, the internal container port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) and the example [docker-compose.yml](./docker/docker-compose.yml) for more information about migrating to the new image. @@ -83,7 +83,7 @@ After setting up the docker container we recommend you set up an NGINX reverse p 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 now [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). +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 ferdi docker documentation](./docker/README.md). @@ -118,7 +118,7 @@ franz-server's configuration is saved inside an `.env` file. Besides AdonisJS's ## Importing your Franz account -ferdi-server allows you to import your full Franz account, including all its settings. +Ferdi-server allows you to import your full Franz account, including all its settings. To import your Franz account, open `http://[YOUR FERDI-SERVER]/import` in your browser and login using your Franz account details. ferdi-server will create a new user with the same credentials and copy your Franz settings, services and workspaces. -- cgit v1.2.3-54-g00ecf From 95d60b83a7946e37b78641e76d40a90eeb6a804a Mon Sep 17 00:00:00 2001 From: thursday Date: Sun, 18 Jul 2021 00:57:18 -0400 Subject: Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index ec5563a..a04f741 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ If you are not interested in doing this you can use our official instance of Fer - [x] Workspace support - [x] Functioning service store - [x] User dashboard -- [x] Export/import data to other Ferdi servers +- [x] Export/import data to other Ferdi-servers - [ ] Password recovery - [ ] Recipe update @@ -39,7 +39,7 @@ If you are not interested in doing this you can use our official instance of Fer The easiest way to set up Ferdi-server on your server is with Docker. The Docker image can be run as is, with the default SQLite database or you can modify your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). -After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi server outside of your home network and protect it with an SSL certificate. +After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. **Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and location, the internal container port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) and the example [docker-compose.yml](./docker/docker-compose.yml) for more information about migrating to the new image. @@ -85,7 +85,7 @@ After setting up the docker container we recommend you set up an NGINX reverse p 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 ferdi docker documentation](./docker/README.md). +For more information on configuring the Docker image, please read [the Ferdi docker documentation](./docker/README.md). ### Manual setup @@ -120,7 +120,7 @@ franz-server's configuration is saved inside an `.env` file. Besides AdonisJS's Ferdi-server allows you to import your full Franz account, including all its settings. -To import your Franz account, open `http://[YOUR FERDI-SERVER]/import` in your browser and login using your Franz account details. ferdi-server will create a new user with the same credentials and copy your Franz settings, services and workspaces. +To import your Franz account, open `http://[YOUR FERDI-SERVER]/import` in your browser and login using your Franz account details. Ferdi-server will create a new user with the same credentials and copy your Franz settings, services and workspaces. ## Transferring user data -- cgit v1.2.3-54-g00ecf From 9bd5f72605cfd0da81c0c03f78286767d615514a Mon Sep 17 00:00:00 2001 From: thursday Date: Sun, 18 Jul 2021 01:00:03 -0400 Subject: Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index a04f741..6a45b08 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ The easiest way to set up Ferdi-server on your server is with Docker. The Docker image can be run as is, with the default SQLite database or you can modify your ENV variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). After setting up the docker container we recommend you set up an NGINX reverse proxy to access Ferdi-server outside of your home network and protect it with an SSL certificate. -**Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and location, the internal container port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user please see [the Ferdi docker documentation](./docker/README.md) and the example [docker-compose.yml](./docker/docker-compose.yml) for more information about migrating to the new image. +**Warning**, please note that the use of the previous `config.txt` is now deprecated and a number of environmental variables have changed, specifically the default database name and location, the internal container port, and an additional `DATA_DIR` variable has been added. Make sure to pass the correct environmental variables to your container at runtime. If you are an existing Ferdi-server user, please see [the Ferdi docker documentation](./docker/README.md) for more information about migrating to the new image. 1. Pull the Docker image -- cgit v1.2.3-54-g00ecf