aboutsummaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorLibravatar thursday <xthursdayx@mailbox.org>2021-07-09 18:07:31 -0400
committerLibravatar GitHub <noreply@github.com>2021-07-09 18:07:31 -0400
commit395a63c0f12cdde2eb285e45a4de5ea59b795f3c (patch)
treea7213a57f6668b2e9ede040c0a91f7c1516be0d1 /docker
parentUpdate database name and volume. (diff)
downloadferdium-server-395a63c0f12cdde2eb285e45a4de5ea59b795f3c.tar.gz
ferdium-server-395a63c0f12cdde2eb285e45a4de5ea59b795f3c.tar.zst
ferdium-server-395a63c0f12cdde2eb285e45a4de5ea59b795f3c.zip
Update README.md
Fixed spelling and grammar issues and updated with warning for existing users regarding config.txt being deprecated and the default sqlite database location and name being changed.
Diffstat (limited to 'docker')
-rw-r--r--docker/README.md38
1 files changed, 19 insertions, 19 deletions
diff --git a/docker/README.md b/docker/README.md
index 780dcb1..05140fd 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -4,7 +4,7 @@
4This is a dockerized version of [Ferdi-server](https://github.com/getferdi/server) running on Alpine Linux and Node.js (v10.16.3). 4This is a dockerized version of [Ferdi-server](https://github.com/getferdi/server) running on Alpine Linux and Node.js (v10.16.3).
5 5
6## Why use a custom Ferdi-server? 6## Why use a custom Ferdi-server?
7A custom ferdi-server allows you to experience the full potential of the Ferdi client. It allows you to use all Premium features (e.g. Workspaces and custom URL recipes) and [adding your own recipes](#creating-and-using-custom-recipes). 7A custom ferdi-server allows you to experience the full potential of the Ferdi Client. It allows you to use all Premium features (e.g. Workspaces and custom URL recipes) and [add your own recipes](#creating-and-using-custom-recipes).
8 8
9## Features 9## Features
10- [x] User registration and login 10- [x] User registration and login
@@ -20,7 +20,7 @@ A custom ferdi-server allows you to experience the full potential of the Ferdi c
20 20
21Here are some example snippets to help you get started creating a container. 21Here are some example snippets to help you get started creating a container.
22 22
23The docker can be run as is, with the default sqlite database, or you can modify your environment variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). After setting up the docker container you will likely need to create a reverse proxy to access Ferdi-server outside of your home network, using for example NGINX. 23The docker can be run as is, with the default sqlite database, or you can modify your environment variables to use an external database (e.g. MySQL, MariaDB, Postgres, etc). After setting up the docker container you will likely need to create a reverse proxy to access Ferdi-server outside of your home network, using a webserver such as NGINX.
24 24
25### docker 25### docker
26 26
@@ -62,38 +62,38 @@ To create the docker container with the proper parameters:
62 62
63### docker-compose 63### docker-compose
64 64
65 You can use sample [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml). 65 You can use the provided sample [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml) if you are happy with the default environmental variables. This will pull the latest image from Docker Hub or use a local copy of the image which you can build using the instructions provided in the [Building locally section](#building-locally).
66 This will pull latest image from Docker Hub or use local image which you can build using instructions in [Building locally section](#Building-locally).
67 66
68 To start the application, use 67 To start the application, use
69 68
70 docker-compose up 69 docker-compose up
71The server will be launched at [http://localhost:3333/](http://localhost:3333/) address. 70The server will be launched at [http://localhost:3333/](http://localhost:3333/) address.
72 71
72**Existing users please note:** The latest updates to Ferdi-server and the Ferdi-server Docker image introduce changes to the default sqlite database name and location, please see the comments in the sample [./docker/docker-compose.yml](https://github.com/getferdi/server/tree/master/docker/docker-compose.yml) in order to continue using your existing database.
73
73## Configuration 74## Configuration
74 75
75Container images are configured using parameters passed at runtime (such as those above). 76Container images are configured using parameters passed at runtime (such as those above).
76 77
77**Warning, using `config.txt` will be deprecated in the future releases.** 78**Warning, the use of `config.txt` is now deprecated. Please make sure to pass the correct environmental variables to your container at runtime.**
78 79<strike>If any environmental parameter is not passed to the container, its value will be taken from the `/config/config.txt` file.</strike>
79If 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.**
80 80
81| Parameter | Function | 81| Parameter | Function |
82| :----: | --- | 82| :----: | --- |
83| `-p <port>:3333` | will map the container's port 80 to a port on the host, default is 3333 | 83| `-p <port>:80` | Will map the container's port 80 to a port on the host, default is 3333 |
84| `-e NODE_ENV=development` | for specifying Node environment, production or development, default is development | 84| `-e NODE_ENV=development` | for specifying Node environment, production or development, default is development **currently this should not be changed** |
85| `-e EXTERNAL_DOMAIN=<ferdi-serverdomain>` | for specifying external domain address of the ferdi server | 85| `-e EXTERNAL_DOMAIN=<ferdi-serverdomain>` | for specifying the external domain address of the Ferdi-server |
86| `-e DB_CONNECTION=sqlite` | for specifying the database being used, default is sqlite | 86| `-e DB_CONNECTION=<databasedriver` | for specifying the database being used, default is sqlite, see [below](#supported-databases-and-drivers) for other options |
87| `-e DB_HOST=<yourdbhost>` | for specifying the database host, default is 127.0.0.1 | 87| `-e DB_HOST=<yourdbhost>` | for specifying the database host, default is 127.0.0.1 |
88| `-e DB_PORT=<yourdbport>` | for specifying the database port, default is 3306 | 88| `-e DB_PORT=<yourdbport>` | for specifying the database port, default is 3306 |
89| `-e DB_USER=<yourdbuser>` | for specifying the database user, default is root | 89| `-e DB_USER=<yourdbuser>` | for specifying the database user, default is root |
90| `-e DB_PASSWORD=<yourdbpass>` | for specifying the database password, default is password | 90| `-e DB_PASSWORD=<yourdbpass>` | for specifying the database password, default is password |
91| `-e DB_DATABASE=adonis` | for specifying the database to be used, adonis | 91| `-e DB_DATABASE=<databasename>` | for specifying the database name to be used, default is database |
92| `-e DB_SSL=false` | true only if your database is postgres and it is hosted online on platforms like GCP, AWS, etc | 92| `-e DB_SSL=false` | true only if your database is postgres and it is hosted online, on platforms like GCP, AWS, etc |
93| `-e MAIL_CONNECTION=<mailsender>` | for specifying the mail sender to be used, default is smtp | 93| `-e MAIL_CONNECTION=<mailsender>` | for specifying the mail sender to be used, default is smtp |
94| `-e SMPT_HOST=<smtpmailserver>` | for specifying the mail host to be used, default is 127.0.0.1 | 94| `-e SMPT_HOST=<smtpmailserver>` | for specifying the mail host to be used, default is 127.0.0.1 |
95| `-e SMTP_PORT=<smtpport>` | for specifying the mail port to be used, default is 2525 | 95| `-e SMTP_PORT=<smtpport>` | for specifying the mail port to be used, default is 2525 |
96| `-e MAIL_SSL=true/false` | for specifying SMTP mail secuirty, default is false | 96| `-e MAIL_SSL=true/false` | for specifying SMTP mail security, default is false |
97| `-e MAIL_USERNAME=<yourmailusername>` | for specifying your mail username to be used, default is username | 97| `-e MAIL_USERNAME=<yourmailusername>` | for specifying your mail username to be used, default is username |
98| `-e MAIL_PASSWORD=<yourmailpassword>` | for specifying your mail password to be used, default is password | 98| `-e MAIL_PASSWORD=<yourmailpassword>` | for specifying your mail password to be used, default is password |
99| `-e MAIL_SENDER=<sendemailaddress` | for specifying the mail sender address to be used, default is noreply@getferdi.com | 99| `-e MAIL_SENDER=<sendemailaddress` | for specifying the mail sender address to be used, default is noreply@getferdi.com |
@@ -101,10 +101,10 @@ If any of environmental parameters is not passed to the container, its value wil
101| `-e IS_DASHBOARD_ENABLED=true` | for specifying whether to enable the Ferdi-server dashboard, default is true | 101| `-e IS_DASHBOARD_ENABLED=true` | for specifying whether to enable the Ferdi-server dashboard, default is true |
102| `-e IS_REGISTRATION_ENABLED=true` | for specifying whether to allow user registration, default is true | 102| `-e IS_REGISTRATION_ENABLED=true` | for specifying whether to allow user registration, default is true |
103| `-e CONNECT_WITH_FRANZ=true` | for specifying whether to enable connections to the Franz server, default is true | 103| `-e CONNECT_WITH_FRANZ=true` | for specifying whether to enable connections to the Franz server, default is true |
104| `-e DATA_DIR=data` | for specifying sql-lite database folder, default is database. | 104| `-e DATA_DIR=data` | for specifying the SQLite database folder, default is database |
105| `-v <path to data>:/config` | this will store persistent ENV data on the docker host | 105| `-v <path to data>:/config` | this will store persistent ENV data on the docker host |
106| `-v <path to database>:/app/database` | this will strore Ferdi-server's database on the docker host for persistence | 106| `-v <path to database>:/app/data` | this will store Ferdi-server's database on the docker host for persistence |
107| `-v <path to recipes>:/app/recipes` | this will strore Ferdi-server's recipes on the docker host for persistence | 107| `-v <path to recipes>:/app/recipes` | this will store Ferdi-server's recipes on the docker host for persistence |
108 108
109By enabling the `CONNECT_WITH_FRANZ` option, Ferdi-server can: 109By enabling the `CONNECT_WITH_FRANZ` option, Ferdi-server can:
110 - Show the full Franz recipe library instead of only custom recipes 110 - Show the full Franz recipe library instead of only custom recipes
@@ -112,7 +112,7 @@ By enabling the `CONNECT_WITH_FRANZ` option, Ferdi-server can:
112 112
113## Supported databases and drivers 113## Supported databases and drivers
114 114
115To use a different database than the default, SQLite, enter the driver code below in your ENV configuration. 115To use a different database than the default, SQLite3, enter the driver code below in your ENV configuration.
116 116
117| Database | Driver | 117| Database | Driver |
118| :----: | --- | 118| :----: | --- |
@@ -189,7 +189,7 @@ Below are the instructions for updating the container to get the most recent ver
189* Update the image: `docker pull getferdi/ferdi-server` 189* Update the image: `docker pull getferdi/ferdi-server`
190* Stop the running container: `docker stop ferdi-server` 190* Stop the running container: `docker stop ferdi-server`
191* Delete the container: `docker rm ferdi-server` 191* Delete the container: `docker rm ferdi-server`
192* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and your ENV settings will be preserved) 192* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and ENV settings will be preserved)
193* Start the new container: `docker start ferdi-server` 193* Start the new container: `docker start ferdi-server`
194* You can also remove the old dangling images: `docker image prune` 194* You can also remove the old dangling images: `docker image prune`
195 195