Join the conversation

Sign in to join this conversation, and others like it, in the communities you care about.

Wekan

Wekan is an open-source kanban board (Trello like) which allows a card-based task and to-do management.

Wekan / General

Production ready alternative to snapd

Production ready alternative to snapd

Wekan / General · February 15, 2020 at 1:51am (Edited 4 years ago)

Hi,

while I would love to install wekan on my server I am struggling on which method I should go for. Snapd is unfortunately not an option because my VPS does not support snapd installations. I have installed docker on my server but within the docs of wekan its sounds like its not a good solution for production deployments. Could someone please tell me which route I should go for or are they any good alternatives?

I am also not a fan of Univention, Sandstorm or paid services.

Regards

Load previous messages

February 15, 2020 at 2:56am

For bash level controls, you download bundle wekan-3.xx.zip that is for x86_64 from https://releases.wekan.team and install it similarly like RasPi bundle: https://github.com/wekan/wekan/wiki/Raspberry-Pi

    • reply
    • like

    and start it as service

      • reply
      • like

      for that, only node + mongodb is required

        • reply
        • like

        or actually,when you already have mongodb somewhere, only node

          • reply
          • like

          that bundle does run on any server, also on those that have some kernel restrictions or OpenVZ

            • reply
            • like

            For external mongodb, it mongodb requires login, you can add username and password and IP address etc to MONGO_URL

              • reply
              • like

              It's also possible to use some part of bash autoupgrade script, if you need automatic upgrades https://github.com/wekan/wekan-bash-install-autoupgrade

                • reply
                • like

                there is some regex to download newest bundle

                  • reply
                  • like

                  after downloading, unzip it, stop service, rename directories, start service

                    • reply
                    • like

                    February 15, 2020 at 12:36pm

                    thank you for that detail

                      • reply
                      • like

                      with those scripts we would be using mongo auth (unlike with the snap config where mongo is private (localhost) and with auth on mongo not enabled)?

                        • reply
                        • like

                        February 15, 2020 at 2:10pm

                        Yes

                          • reply
                          • like

                          Use urlencode for special characters https://www.url-encode-decode.com/

                          MONGO_URL=mongodb://myDBReader:D1fficultP%[email protected]:27017/admin

                          https://docs.mongodb.com/manual/reference/connection-string/

                            like-fill
                            1
                            • reply
                            • like

                            or: MONGO_URL=mongodb://myDBReader:D1fficultP%[email protected]:27017/wekan

                              • reply
                              • like

                              depends what database name is in your database instance

                                • reply
                                • like

                                there can me multiple databases, like in one MySQL server instance can be multiple databases

                                  • reply
                                  • like

                                  with different names

                                    • reply
                                    • like

                                    February 16, 2020 at 10:09am

                                    Thanks for your answers :) I really would like to stick with my current provider also because I have recently upgraded my package. The Bash script looks promising. Regarding security concerns if managed correctly is it a solid alternative to snapd?

                                      • reply
                                      • like

                                      I am also thinking about putting the bash setup into a docker container.

                                        • reply
                                        • like

                                        The bundle is really interesting. So I could just serve the node module on my server. You have both discussed this somehow in the previous posts.

                                          • reply
                                          • like

                                          February 16, 2020 at 5:18pm

                                          @dabor It's the same Wekan code on bash script, Snap and Docker. Only difference is that Snap and Docker provide sandboxing. There is not any difference in features etc.

                                            • reply
                                            • like

                                            There is also docker-compose.yml at https://github.com/wekan/wekan . With it, you could change MONGO_URL to point to extenal mongodb, and remove wekan-db container from that docker-compose.yml .

                                              • reply
                                              • like

                                              For that bash autoupgrade script, some Wekan contributor made it, and it did work for him to get Wekan automatically upgraded. That script is for Debian 9, so most likely you need only that part that does upgrading. Or just create your own script that downloads wekan-3.xx.zip , unzips it, stops service, renames directories, starts service

                                                • reply
                                                • like

                                                About security: As you see in start-wekan.sh and docker-compose.yml , Wekan has brute force login protection. Not logged in users can not make any changes to database: for example at public boards I needed to use cookies to save state of board view Lists/Swimlanes/Calendar. Cookies are worse, because it requires webbrowser reload page to take effect, so that view changes. For logged in users change is immediate, because it's possible to write to database.

                                                  • reply
                                                  • like

                                                  Wekan input forms have XSS protection, that's why currently it's not possible to get file:/// links etc clickable

                                                    • reply
                                                    • like