Jump to content
Kru-x

<Support> Kru-x - Wekan and MongoDB-wekan templates

61 posts in this topic Last Reply

Recommended Posts

4 hours ago, tamito said:

imageproxy.php?img=&key=e5eec7c5c933ca16I try to install this docker follow you guide. However, I get The command failed at the end. Any idea how can i fix it. I am on unraid 6.8.

 

image.thumb.png.4605161c6a6064d7e5021b0fefa8b025.pngimage.thumb.png.83a385f5db08b42dc68908bb36d940e8.png

Hi, if this is a new install, try to completely remove the extra parameters: "--link "MongoDB db"" and in the MONGO_URL add for ex.: mongodb://192.168.1.121:27017/wekan (where the ip address is your server where you have Mongo DB and the exposed port of it.

 

Hope it helps and let me know,

Kru-x

Share this post


Link to post

Hi Kru-x

It installed successfully. However, when I run it, log file shows

 

MongoError: database name must be a string
at Function.create (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/error.js:43:12)
at validateDatabaseName (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/operations/db_ops.js:720:22)
at new Db (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/db.js:182:3)
at MongoClient.db (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/mongo_client.js:237:14)
at packages/mongo/mongo_driver.js:186:25
at runWithEnvironment (packages/meteor.js:1286:24)

Share this post


Link to post
On 12/28/2019 at 3:00 PM, tamito said:

Hi Kru-x

It installed successfully. However, when I run it, log file shows

 

MongoError: database name must be a string
at Function.create (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/error.js:43:12)
at validateDatabaseName (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/operations/db_ops.js:720:22)
at new Db (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/db.js:182:3)
at MongoClient.db (/build/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/mongo_client.js:237:14)
at packages/mongo/mongo_driver.js:186:25
at runWithEnvironment (packages/meteor.js:1286:24)

Hi Tamito,

Sorry for the late reply, was a away for a while. As I don't know what MongoDB container you are using I am not sure what the DB name is in it, but the last word in mongodb://192.168.1.121:27017/wekan (in this case "wekan") is the name of the DB you have to connect to, could be "wekan", "admin", you can check it by logging in to the container with the console in unraid, then write "mongo" to open mongos shell and then "show databases".

Hope it helps,

Kru-x

Share this post


Link to post

Hi Kru-x,

 

I got it. It is database name that is incorrect. After I changed to mongodb://192.168.1.121:27017/db, it worked. I have one question for you. Where does configuration location? I check in my appdata folder but nothing there. What does "unRAID Share Path:" in docker setup mean?

 

Thanks,

Share this post


Link to post
1 hour ago, tamito said:

Hi Kru-x,

 

I got it. It is database name that is incorrect. After I changed to mongodb://192.168.1.121:27017/db, it worked. I have one question for you. Where does configuration location? I check in my appdata folder but nothing there. What does "unRAID Share Path:" in docker setup mean?

 

Thanks,

Happy you found it, there is no configuration to be done, except from within the user interface. All data is stored in the db so the unraid share path in this case is not really needed. I think there is a previous thread about it.

Share this post


Link to post

Not sure if normal but this is where I get redirected when clicking the support thread for the godaddy ddns docker.

 

I was wondering if you were doing anything special since I've modified some script I found on the web and run it with cron and it gets the job done.

#!/bin/bash
keys=(key1 key2)
secrets=(secret1 secret2)
domains=(domain1 domain2)
Type=A
Name=@
TTL=600
CachedIP=/tmp/current_ip
CheckURL=http://api.ipify.org

echo -n "$(date +%Y%m%d%H%M%S) Checking current 'Public IP' from '${CheckURL}': "
PublicIP=$(curl -kLs ${CheckURL})
if [ $? -eq 0 ] && [[ "${PublicIP}" =~ [0-9]{1,3}\.[0-9]{1,3} ]]; then
  echo "${PublicIP}."
else
  sleep 120
  PublicIP=$(curl -kLs ${CheckURL})
  if [ $? -eq 0 ] && [[ "${PublicIP}" =~ [0-9]{1,3}\.[0-9]{1,3} ]]; then
    echo "[retry] ${PublicIP}."
  else
    echo "[retry] Fail! ${PublicIP}"
    exit 1
  fi
fi

if [ "$(cat ${CachedIP} 2>/dev/null)" != "${PublicIP}" ]; then
  for ((i = 0; i < ${#domains[@]}; ++i)); do
    echo -n "$(date +%Y%m%d%H%M%S) Checking '${domains[$i]}' IP records from 'GoDaddy': "
    Check=$(curl -kLsH"Authorization: sso-key ${keys[$i]}:${secrets[$i]}" -H"Content-type: application/json" https://api.godaddy.com/v1/domains/${domains[$i]}/records/${Type}/${Name} 2>/dev/null|jq -r '.[0].data')>/dev/null
    if [ $? -eq 0 ] && [ "${Check}" = "${PublicIP}" ]; then
      echo -e "unchanged.\n$(date +%Y%m%d%H%M%S) Current 'Public IP' matches 'GoDaddy' records. No update required."
    else
      echo -e "changed.\n$(date +%Y%m%d%H%M%S) Updating '${domains[$i]}' from '${Check}' to '${PublicIP}'."
      Update=$(curl -kLsXPUT -H"Authorization: sso-key ${keys[$i]}:${secrets[$i]}" -H "Content-type: application/json" https://api.godaddy.com/v1/domains/${domains[$i]}/records/${Type}/${Name} -d "[{\"data\":\"${PublicIP}\",\"ttl\":${TTL}}]" 2>/dev/null)
      if [ $? -eq 0 ] && [ "${Update}" = "" ]; then
        echo "$(date +%Y%m%d%H%M%S) Success."
      else
        echo "$(date +%Y%m%d%H%M%S) Fail. ${Update}"
        exit 1
      fi
    fi
  done
  echo ${PublicIP}>${CachedIP}
else
  echo -en "$(date +%Y%m%d%H%M%S) Current 'Public IP' matches 'Cached IP' recorded. No update required.\n"
fi
exit $?

I'm trying to understand in what use case scenario would a docker be a better solution than a simple 40ish lines script (could probably be optimized to < 30 lines).

Share this post


Link to post
6 hours ago, dnLL said:

Not sure if normal but this is where I get redirected when clicking the support thread for the godaddy ddns docker.

 

I was wondering if you were doing anything special since I've modified some script I found on the web and run it with cron and it gets the job done.


#!/bin/bash
keys=(key1 key2)
secrets=(secret1 secret2)
domains=(domain1 domain2)
Type=A
Name=@
TTL=600
CachedIP=/tmp/current_ip
CheckURL=http://api.ipify.org

echo -n "$(date +%Y%m%d%H%M%S) Checking current 'Public IP' from '${CheckURL}': "
PublicIP=$(curl -kLs ${CheckURL})
if [ $? -eq 0 ] && [[ "${PublicIP}" =~ [0-9]{1,3}\.[0-9]{1,3} ]]; then
  echo "${PublicIP}."
else
  sleep 120
  PublicIP=$(curl -kLs ${CheckURL})
  if [ $? -eq 0 ] && [[ "${PublicIP}" =~ [0-9]{1,3}\.[0-9]{1,3} ]]; then
    echo "[retry] ${PublicIP}."
  else
    echo "[retry] Fail! ${PublicIP}"
    exit 1
  fi
fi

if [ "$(cat ${CachedIP} 2>/dev/null)" != "${PublicIP}" ]; then
  for ((i = 0; i < ${#domains[@]}; ++i)); do
    echo -n "$(date +%Y%m%d%H%M%S) Checking '${domains[$i]}' IP records from 'GoDaddy': "
    Check=$(curl -kLsH"Authorization: sso-key ${keys[$i]}:${secrets[$i]}" -H"Content-type: application/json" https://api.godaddy.com/v1/domains/${domains[$i]}/records/${Type}/${Name} 2>/dev/null|jq -r '.[0].data')>/dev/null
    if [ $? -eq 0 ] && [ "${Check}" = "${PublicIP}" ]; then
      echo -e "unchanged.\n$(date +%Y%m%d%H%M%S) Current 'Public IP' matches 'GoDaddy' records. No update required."
    else
      echo -e "changed.\n$(date +%Y%m%d%H%M%S) Updating '${domains[$i]}' from '${Check}' to '${PublicIP}'."
      Update=$(curl -kLsXPUT -H"Authorization: sso-key ${keys[$i]}:${secrets[$i]}" -H "Content-type: application/json" https://api.godaddy.com/v1/domains/${domains[$i]}/records/${Type}/${Name} -d "[{\"data\":\"${PublicIP}\",\"ttl\":${TTL}}]" 2>/dev/null)
      if [ $? -eq 0 ] && [ "${Update}" = "" ]; then
        echo "$(date +%Y%m%d%H%M%S) Success."
      else
        echo "$(date +%Y%m%d%H%M%S) Fail. ${Update}"
        exit 1
      fi
    fi
  done
  echo ${PublicIP}>${CachedIP}
else
  echo -en "$(date +%Y%m%d%H%M%S) Current 'Public IP' matches 'Cached IP' recorded. No update required.\n"
fi
exit $?

I'm trying to understand in what use case scenario would a docker be a better solution than a simple 40ish lines script (could probably be optimized to < 30 lines).

Bugger, forgot to put in the support start tag, thanks for pointing this out. I moved your post to the right forum and answered you there @ https://forums.unraid.net/topic/86922-support-kru-x-godaddy-ddns/

R

Kru-x

 

Share this post


Link to post
On 1/2/2020 at 11:48 AM, Kru-x said:

Happy you found it, there is no configuration to be done, except from within the user interface. All data is stored in the db so the unraid share path in this case is not really needed. I think there is a previous thread about it.

Thx Kru-x for supporting such a great docker.

Share this post


Link to post

I updated unraid to V6.8.1 today. I then also decided to update all our dockers, unfortunately this resulted in Wekan just disapering from the dockers list.

I figured annoying but I will just re-install it.

This was unfortunately impossible for me as no matter what i do I just get The Command Failed error:

 

image.thumb.png.3a08d43e8ff608fe753abfb2d06b8773.png

 

Any suggestions as to what has happened and if It can be resolved? 

 

all the other dockers updated nicely except for wekan.

Share this post


Link to post
11 hours ago, nik82 said:

I updated unraid to V6.8.1 today. I then also decided to update all our dockers, unfortunately this resulted in Wekan just disapering from the dockers list.

I figured annoying but I will just re-install it.

This was unfortunately impossible for me as no matter what i do I just get The Command Failed error:

 

image.thumb.png.3a08d43e8ff608fe753abfb2d06b8773.png

 

Any suggestions as to what has happened and if It can be resolved? 

 

all the other dockers updated nicely except for wekan.

Sorry, I'm away from my computer 4 a few days. But read the previous threads,  most likely you got the new version of wekan and docker that don't support the "-link". It changed, but all of that is discussed in the last few threads. Let me know if you figure it out, else I step you thorough it in a few days time. 

Kru-x

Share this post


Link to post
Posted (edited)

Has anyone gotten this to work behind their nginx reverse proxy? I am getting 502 errors for some reason. Following is my config in the letsencrypt docker container by linuxserver: Welp, I fixed it. Following is an example config that works.
 

 server {
         listen 443 ssl http2;
         #listen [::]:443 ssl http2;
         server_name kanban.example.com;
 
         # root /config/www;
         # index index.html index.htm index.php;
 
         ###SSL Certificates
         ssl_certificate /config/keys/letsencrypt/fullchain.pem;
         ssl_certificate_key /config/keys/letsencrypt/privkey.pem;
 
         ###Diffie-Hellman key exchange ###
         ssl_dhparam /config/nginx/dhparams.pem;
 
         ###SSL Ciphers
         ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AE
 S128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:E
 CDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-
 GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-S
 HA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
 
         ###Extra Settings###
         ssl_prefer_server_ciphers on;
         ssl_session_cache shared:SSL:1m;
         ssl_protocols TLSv1 TSLv1.1 TSLv1.2;
 
         ### Web Browser Security REdirect ###
         if ($http_user_agent ~ "MSIE" ) {
             return 303 https://browser-update.org/update.html;
         }
 
         ### Add HTTP Strict Transport Security ###
         # add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
         # add_header Front-End-Https on;
 
         client_max_body_size 0;
 
         location / {
                 proxy_pass http://192.168.0.3:8089;
                 proxy_http_version 1.1;
                 proxy_set_header Upgrade $http_upgrade;
                 proxy_set_header X-Forwarded-For $remote_addr;
                 proxy_set_header X-Forwarded-Proto https;
                 proxy_max_temp_file_size 2048m;
                 include /config/nginx/proxy.conf;
         }
 }

 

Edited by codecitymayor

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.