getferdi / server-docker Goto Github PK
View Code? Open in Web Editor NEW๐ฆ Dockerized version of Ferdi server to replace the default Franz server
Home Page: https://getferdi.com/
License: MIT License
๐ฆ Dockerized version of Ferdi server to replace the default Franz server
Home Page: https://getferdi.com/
License: MIT License
I just found out that the email password reset option is not working when ferdi-server is running in this docker container. What does ferdi-server use to send email? Postfix or Sendmail?
@xthursdayx I recently pushed a fix to the server repository - how do those changes get transferred into the docker image? What do we have to do to update the docker image?
Hi,
Thanks for the job. I use the last build.
**** Installing AdonisJS and deps ****
npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
npm WARN deprecated [email protected]: Critical bug fixed in v3.0.1, please upgrade to the latest version.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
/usr/bin/adonis -> /usr/lib/node_modules/@adonisjs/cli/index.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/@adonisjs/cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
+ @adonisjs/[email protected]
updated 1 package in 37.667s
npm WARN [email protected] requires a peer of eslint@^5.16.0 || ^6.8.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of eslint@^5.16.0 || ^6.8.0 but none is installed. You must install peer dependencies yourself.
audited 920 packages in 22.494s
20 packages are looking for funding
run `npm fund` for details
found 158 vulnerabilities (155 low, 3 high)
run `npm audit fix` to fix them, or `npm audit` for details
How often do you plan to update this Docker?
When following this guide on setting up a ferdi server with docker, accessing [domain]:3333 yields the following error:
Error: key must be at least 16 characters long
Error: key must be at least 16 characters long
at module.exports (/app/node_modules/simple-encryptor/index.js:24:11)
at new Encryption (/app/node_modules/@adonisjs/framework/src/Encryption/index.js:37:22)
at Object.app.singleton [as closure] (/app/node_modules/@adonisjs/framework/providers/AppProvider.js:257:14)
at Ioc._resolveBinding (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:231:68)
at Ioc.make (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:807:19)
at injections.map (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:318:19)
at Array.map (<anonymous>)
at Ioc._makeInstanceOf (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:317:44)
at Ioc.make (/app/node_modules/@adonisjs/fold/src/Ioc/index.js:799:19)
at AuthManager.getScheme (/app/node_modules/@adonisjs/auth/src/Auth/Manager.js:86:16)
at Auth.authenticator (/app/node_modules/@adonisjs/auth/src/Auth/index.js:118:40)
at new Auth (/app/node_modules/@adonisjs/auth/src/Auth/index.js:68:39)
at Context.<anonymous> (/app/node_modules/@adonisjs/auth/providers/AuthProvider.js:151:14)
at Context.wrappedCallback [as auth] (/app/node_modules/macroable/index.js:132:61)
at Server._handleException (/app/node_modules/@adonisjs/framework/src/Server/index.js:253:63)
at _executeServerMiddleware.then.then.catch (/app/node_modules/@adonisjs/framework/src/Server/index.js:441:14)
To create the container I used the following command: (with MYDOMAIN replaced with my domain, and AREALLYLONGPASSWORD being a randomly generated password with over 20 characters)
sudo docker create \
--name=ferdi-server \
-e NODE_ENV=development \
-e EXTERNAL_DOMAIN=MYDOMAIN \
-e DB_CONNECTION=sqlite \
-e DB_HOST=127.0.0.1 \
-e DB_PORT=3306 \
-e DB_USER=root \
-e DB_PASSWORD=AREALLYLONGPASSWORD \
-e DB_SSL=false \
-e IS_CREATION_ENABLED=true \
-e IS_DASHBOARD_ENABLED=true \
-e IS_REGISTRATION_ENABLED=true \
-e CONNECT_WITH_FRANZ=false \
-p 3333:80 \
-v ~/data/config:/config \
-v ~/data/app/database:/app/database \
-v ~/data/app/recipes:/app/recipes \
--restart unless-stopped \
getferdi/ferdi-server
It's running on Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-51-generic x86_64)
If I set the variable within the docker-compose.yml or via .env file, it shows empty in the container and can not be set. However it is set in the config.txt
root@a17b5d5dfb37:/root# echo $SMTP_HOST
root@a17b5d5dfb37:/root# SMPT_HOST=test
root@a17b5d5dfb37:/root# echo $SMTP_HOST
root@a17b5d5dfb37:/root# grep SMTP_HOST /config/config.txt
SMTP_HOST=127.0.0.1
Also the MAIL_SENDER variable seems buggy too
root@a17b5d5dfb37:/root# echo $MAIL_SENDER
[email protected]
root@a17b5d5dfb37:/root# grep MAIL_SENDER /config/config.txt
[email protected]
Deleting the config.txt in my docker volume does not change this.
Editing the file and entering correct values does not send any mail.
The content is printed to the container STDOUT however.
Is there a way to use ferdi-docker with a subfolder domain?
like https://YOUR-DOMAIN/ferdi
everything i tried so far always redirects out of the subfolder to the domain itself creates problems with other paths.
Judging by the logs and this line:
the server basically gets installed and compiled on the fly, which cases really long startup times and is usually not a good thing to do for docker images (you usually want them to be the same on every execution).While most ENV variables won't logically make use of spaces anyway, passwords should be allowed to contain spaces. Unfortunately having such a password is causing errors:
.env: line 17: {PART OF YOUR PASSWORD FOLLOWED BY A SPACE}: command not found
Hi guys,
Unfortunately I can't get the Docker container to run, I started it without specifying a user. Also tried to create and specify another user but that gives me other errors...
**** Installing AdonisJS and deps ****
npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
npm WARN deprecated [email protected]: Critical bug fixed in v3.0.1, please upgrade to the latest version.
/usr/bin/adonis -> /usr/lib/node_modules/@adonisjs/cli/index.js
> [email protected] postinstall /usr/lib/node_modules/@adonisjs/cli/node_modules/nodemon
> node bin/postinstall || exit 0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/@adonisjs/cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code EUIDLOOKUP
npm ERR! lifecycle could not get uid/gid
npm ERR! lifecycle [ 'nobody', 0 ]
npm ERR! lifecycle
npm ERR!
npm ERR! Failed to look up the user/group for running scripts.
npm ERR!
npm ERR! Try again with a different --user or --group settings, or
npm ERR! run with --unsafe-perm to execute scripts as root.
npm ERR! A complete log of this run can be found in:
Hope you can help me :)
Changes made in https://github.com/getferdi/server/pull/33 are not reflected in the latest docker image.
Currently, SSL variable still exists, and is still not yet split into MAIL_SSL and DB_SSL.
Though it seems like it has no impact on running the app, I feel the documentation can be improved on how to better configure this Docker image.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.