8000 Wekan on Qnap TS-469L · Issue #1180 · wekan/wekan · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Wekan on Qnap TS-469L #1180

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
xet7 opened this issue Aug 18, 2017 · 8 comments
Closed

Wekan on Qnap TS-469L #1180

xet7 opened this issue Aug 18, 2017 · 8 comments

Comments

@xet7
Copy link
Member
xet7 commented Aug 18, 2017

Moved to here from Wefork issues because Wekan fork has been merged to Wekan already.

From @kaefert

Are there any plans to support newer MongoDB versions in the future? Or is this a bug in the MongoDB versions 3.4.0 and 3.4.1 that needs to be fixed in future MongoDB versions?

I am trying to run wekan on my Qnap TS-469L (a NAS with an intel atom processor) and the only MongoDB package I was able to get to run was 3.4.0.
see also: https://forum.qnap.com/viewtopic.php?f=320&t=118808

On MongoDB 3.4.x Wekan crashes when uploading attachment. Nobody has tried yet to track down could this be fixed with some code update. It would be very useful for somebody to try to do Google searches for solutions to that crash.

What operating system does Qnap TS-469L use ?

What kernel version does Qnap TS-469L use ?

Is the operating system Open Source ? URL ?

Is there development environment or VirtualBox image available that has Qnap operating system, so I could test Wekan there ?

Are there different operating systems available for Qnap ?

What packaging system does Qnap use? Is there Docker, Ubuntu snap or some others available?

@kaefert
Copy link
kaefert commented Aug 18, 2017

Hey there xet7! thanks for the fast reply!

Qnap devices use there own proprietary linux distribution named "QTS"..
https://www.qnap.com/qts

My device runs kernel version 3.4.6.

For some newer qnap devices they have virtualization features, but sadly not for mine :(

The only packaging system's I've found available for my qnap device are Entware (--> opkg)
https://github.com/Entware-ng/Entware-ng/wiki/Install-on-QNAP-NAS
And qpkg packages specifically built for qnap devices, though I'm only a consumer of those packages and don't know how they're built.

I will try to do some research on why and how wekan crashes when used with MongoDB 3.4.x and a user uploads an attachment.

The error message printed for me is:

SA GridFS - ERROR! { MongoError: Can't get executor for query { files_id: ObjectId('5996dbf9baeefc5f47ed9389'), n: { $gte: 0 } }
    at Object.toError (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/utils.js:114:11)
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/db.js:1194:31
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/db.js:1903:9
    at Server.Base._callHandler (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/server.js:488:18
    at MongoReply.parseBody (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at .<anonymous> (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/server.js:446:20)
    at emitOne (events.js:96:13)
    at emit (events.js:188:7)
    at .<anonymous> (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:207:13)
    at emitTwo (events.js:106:13)
    at emit (events.js:191:7)
    at Socket.<anonymous> (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/connection.js:440:22)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
  name: 'MongoError',
  ok: 0,
  errmsg: 'Can\'t get executor for query { files_id: ObjectId(\'5996dbf9baeefc5f47ed9389\'), n: { $gte: 0 } }',
  code: 17241,
  codeName: 'Location17241' }
/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/base.js:246
        throw message;      
        ^

Error: Error storing uploaded file to TempStore: Can't get executor for query { files_id: ObjectId('5996dbf9baeefc5f47ed9389'), n: { $gte: 0 } }
    at EventEmitter.<anonymous> (packages/cfs_collection.js:186:28)
    at emitTwo (events.js:111:20)
    at EventEmitter.emit (events.js:191:7)
    at Stream.<anonymous> (packages/cfs_tempstore.js:364:10)
    at emitOne (events.js:101:20)
    at Stream.emit (events.js:188:7)
    at Stream._error (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/gridfs-stream/lib/writestream.js:190:8)
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/gridfs-stream/lib/writestream.js:128:28
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:524:58
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:474:20
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/db.js:1194:16
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/db.js:1903:9
    at Server.Base._callHandler (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/base.js:453:41)
    at /share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/server.js:488:18
    at MongoReply.parseBody (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at .<anonymous> (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/lib/mongodb/connection/server.js:446:20)

@xet7
Copy link
Member Author
xet7 commented Aug 18, 2017

@kaefert

Have you tried installing MongoDB 3.2 from binary tarball? I don't know is it really necessary to compile MongoDB.
https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-linux/

@kaefert
Copy link
kaefert commented Aug 18, 2017

wow, thanks xet7! I didn't do exactly what you told me to but you gave me the idea that got me a working installation 👍

I downloaded mongodb-linux-x86_64-3.2.16.tgz from the link you gave me, extracted it and (after backing up the 3.4.0 binaries) overwrote the binaries installed by the working mongodb 3.4.0 qpkg package and restarted the db. this gave me some verbose error messages that it couldn't open the existing database because some indexes where used that are not supported - then I moved the database files to some backup location tried again and it worked!

now I can upload attachments to my wekan installation! :)

Another problem I have is that the mail sending doesn't work

Exception while invoking method 'ATCreateUserServer' Error: 140558842242880:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:../deps/openssl/openssl/ssl/s23_clnt.c:797:
    at Object.wait (/share/CACHEDEV1_DATA/software/wekan-0.32/programs/server/node_modules/fibers/future.js:449:15)
    at Mail._syncSendMail (packages/meteor.js:213:24)
    at smtpSend (packages/email.js:116:13)
    at Object.Email.send (packages/email.js:174:5)
    at AccountsServer.Accounts.sendVerificationEmail (packages/accounts-password/password_server.js:849:9)
    at ATCreateUserServer (packages/useraccounts_core.js:1310:16)
    at packages/check.js:130:16
    at withValue (packages/meteor.js:1122:17)
    at Object._failIfArgumentsAreNotAllChecked (packages/check.js:129:41)
    at maybeAuditArgumentChecks (packages/ddp-server/livedata_server.js:1734:18)
    at packages/ddp-server/livedata_server.js:719:19
    at withValue (packages/meteor.js:1122:17)
    at packages/ddp-server/livedata_server.js:717:40
    at withValue (packages/meteor.js:1122:17)
    at packages/ddp-server/livedata_server.js:715:46
    at Session.method (packages/ddp-server/livedata_server.js:689:23)
    - - - - -

    at Error (native)

I've configured it like that:
export MAIL_URL='smtps://myaccount@gmail.com:mypassword@smtp.gmail.com:587/'
but that doesn't seem to work (see error above).

@xet7
Copy link
Member Author
xet7 commented Aug 18, 2017

@kaefert

I think using Gmail for sending email does not work.

I recommend registering free account at SendGrid and using it to send email with these settings for ports.

In addition to MAIL_URL, setup same setting in Admin Panel.

Also do check Troubleshooting Email.

@kaefert
Copy link
kaefert commented Aug 20, 2017

hey there xet7!
I'd like to have wekan be reachable on standard ports 80/443 via a subfolder of my default web server (apache). I managed to get apache to redirect a directory to a port including this httpd-proxy.conf.txt in my apache config.

But now when I keep the wekan setting export ROOT_URL='http://192.168.16.8:8081' it will try to load it's files from the webserver root which gives 404 error, and when I change it to export ROOT_URL='http://192.168.16.8/wekan' It will simply print "Unknown path" in the browser.

Is there a way to do make wekan know it run's in a subdirectory of my webserver?

@xet7
Copy link
Member Author
xet7 commented Aug 20, 2017

@kaefert

Apache config

Wekan config:

ROOT_URL='http://192.168.16.8/wekan'
export PORT=8081

@kaefert
Copy link
kaefert commented Aug 20, 2017

thanks again for your help xet7! I am unsure if I understand the linked configuration instructions correctly but it seems to me this is for making a virtual host (i.e. another domain served by the same apache server) that points to wekan. I want to simply point a subdirectory of my single domain to the node.js server where I have the problem that wekan doesn't want to run as a subdirectory (when configured to do so it prints "unknown path"?

I have tried exactly the wekan config that you wrote and this gives me "unknown path" when browsing to the wekan installation either directly or via the apache proxy.

@kaefert
Copy link
kaefert commented Aug 20, 2017

Got it!

The trick was to make wekan run in a subdirectory using

export ROOT_URL='http://192.168.16.8/wekan'
export ROOT_URL_PATH_PREFIX='/wekan'

And then adapt the redirect on my apache to redirect the apache subdirectory wekan to the same wekan subdirectory on the node.js server:

ProxyPass /wekan http://localhost:8081/wekan
ProxyPassReverse /wekan http://localhost:8081/wekan

@xet7 xet7 closed this as completed Aug 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0