Little help with qnap nas


#1

Im trying to get this to work on a 86_64 qnap nas via docker. what i have done so far to get to where i am is

  1. Install Entware-3x-std to get opkg (its a native package made for qnap you can find it here
  2. opkg install coreutils
  3. opkg install coreutils-cut (default version is watered down and missing functions)
  4. opkg install coreutils-kill (default version is watered down and missing functions)
  5. opkg install coreutils-ls (default version is watered down and missing functions)
  6. opkg install coreutils-sleep (default version is watered down and missing functions)
  7. opkg install git-http (for https)
  8. opkg install ncurses-bin (for tput)

and heres the first problem i ran into. “colrm” is not on qnap nas by default and theres no package via opkg to be able to install it… i lucked out buy just doing a search on the nas for “colrm” and found that a docker that i was running had that file so copy/paste go!. and it seems like it works (at least not getting any errors from it and seem to be working)

next problem that took me 3 days >.< to find out WTH was going on. after a lot of debugging found out that for some reason qnap dont like

set -a
. local.properties

so it not importing local.properties in to the bash. so ${VERSION} ended up being null/blank so keep saying invalid argument when it tryed to run docker build. so found a way around that (thank you google!) by using

configfile=${config_file}
if [ -f ${configfile} ]; then
echo “Reading user config…” >&2

# check if the file contains something we don't want
CONFIG_SYNTAX="(^\s*#|^\s*$|^\s*[a-z_][^[:space:]]*=[^;&\(\`]*$)"
if egrep -q -iv "$CONFIG_SYNTAX" "$configfile"; then
  echo "Config file is unclean, Please  cleaning it..." >&2
  exit 1
fi
# now source it, either the original or the filtered variant
source "$configfile"

else
echo "There is no configuration file call ${configfile}"
fi

ran launcher bootstrap. and it working!!! checked nas and i can see it doing its thing… go fix me something to eat will its doing its thinking and came back to “One or more build-args [SERVER_BRANCH] were not consumed, failing build.” so at this point i removed the images that it was able to do and ran it again to the if there anymore error messages. and nothing just that one error message. reenabled debug and ran again. it gets all the way to step 30 and “One or more build-args [SERVER_BRANCH] were not consumed, failing build.”

Step 30 : ENTRYPOINT /home/kontalk/entrypoint.sh
—> Running in daa05a1c816a
—> 9781bcafa972
Removing intermediate container daa05a1c816a

i check dockerfile to see what comes after that point and nothing… that is the last step in the dockerfile.
at this point was thinking maybe its what ever docker is trying to build next that is getting the error from. after a few echo’s later

if [ -n “${DEBUG}” ]; then
echo "----------------------------"
echo "Starting build for ${image}"
echo "----------------------------"
echo "Base: ${base}"
echo "----------------------------"
echo "Full Command: " . ${docker_path} build -t ${image} $* ${base}
echo “----------------------------”

   ${docker_path} build -t ${image} $* ${base}

else

nothing there’s only first entry “kontalk/xmppserver:0285f34” and nothing. no entry about building anything else after that one it just right when it get done with “kontalk/xmppserver:0285f34” it errors out. im hoping someone can point me in the right direction of what to check next. im out of ideas

P.S. i just seen that for some reason when it gets done with “kontalk/xmppserver:0285f34” and errors out. docker not showing a container for “kontalk/xmppserver” it show the images for it but thats it. almost like it was not done building it.

P.S.S just noticed that both “kontalk/xmppserver” and “kontalk/httpupload” not listed on hub.docker.com maybe that where its getting the error it cant find it? brain over loaded, maybe im just over thinking it >.<

the none and debian is the ones created by the script

Log
https://github.com/kontalk/xmppserver-docker/files/1713006/bootstrap.txt


#2

OK, found out why im getting that error message. with the docker version thats on qnap (1.11.2) any unused args makes docker exit with that error message. it look like in later versions they changed it to a warning message.

Soooo, from looking whats args being used and not, it looks like under branch production arg “SERVER_BRANCH=${serverbuild}” is not being used. so removed the arg and was able to build with “launcher bootstrap” and was able to build with no errors.

.SO did /launcher start and that created all the containers. and this when i ran in to the next problem ;_;
xmpp server keep crashing with this error

[INFO] Scanning for projects…
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Kontalk Tigase extension 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] — flyway-maven-plugin:4.2.0:baseline (default-cli) @ tigase-extension —
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.533 s
[INFO] Finished at: 2018-02-10T19:04:26+00:00
[INFO] Final Memory: 13M/607M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.flywaydb:flyway-maven-plugin:4.2.0:baseline (default-cli) on project tigase-extension: org.flywaydb.core.api.FlywayException: Invalid version containing non-numeric characters. Only 0…9 a
nd . are allowed. Invalid version: -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

this is where i dont even no where to begin to debug this error so would really like some help. ill keep searching google in the mean time.


#3

Hey @Alacard, great debugging sessions :slight_smile:

Sooo first of all, please upgrade your copy of the git repo as a few bugs have been fixed in the meantime. Be sure to run kontalk-setup again to not miss any new parameter. The old ones will be read from your local.properties.

About the error, it’s probably due to this parameter missing in your local.properties:

DATABASE_BASELINE=1

It’s in the default local.properties.dist but you have to copy it over to local.properties because kontalk-setup doesn’t do that (just fixed it, sorry).

That’s right, Kontalk images are not posted on the hub because they have a few dependencies on the local.properties file.


About your qnap shell not working as intended: could you provide more info about this problem? Could you give me some indications to implement a compatibility fix for this (e.g. useful also for busybox users for example)? Or you can just create a pull request if you’d like :slight_smile:

Thanks!!