Privatebin: Add Cloudron as installation method

Created on 11 Dec 2019  Â·  5Comments  Â·  Source: PrivateBin/PrivateBin

Hi PrivateBin team,
Thanks for this app! We have packaged PrivateBin for Cloudron. Source code is here - https://git.cloudron.io/cloudron/privatebin-app. Cloudron uses Docker, so it's probably useful for deploying without Cloudron as well. There's also automated selenium tests which help us with updates - https://git.cloudron.io/cloudron/privatebin-app/tree/master/test (can be repurposed for use outside Cloudron as well)

Wha tdo you think about adding Cloudron as an alternative installation method in INSTALL.md? You can try the whole install in our demo site - https://my.demo.cloudron.io (username/password: cloudron). I can submit a PR, if you agree. (Also, if you are interested in having Cloudron for personal use or this project, please let me know).

Thanks again.

Most helpful comment

Instead of a top-level Cloudron page, I added https://github.com/PrivateBin/PrivateBin/wiki/Other-installation-methods . Hope that's OK. Maybe we can add other control panels/PaaS platforms as they come up there.

All 5 comments

Interesting. As for the tests (which appear to be e2e tests), would not it maybe be useful to integrate these here in the repo, so they are useful for everyone?

Just an idea… :thinking:

Yes, correct, they are end to end tests and not unit tests. If I wasn't clear earlier, we are merely packaging PrivateBin. So writing unit tests is out of our scope. The e2e tests help us check if the package installs properly, and once installed if we can create new pastes and if the app restarts if the old pastes are still there, if an update preserves old pastes things like that.

I think the tests or our packaging code won't fit in the main repo directly. But we can strip out all the cloudron bit and make them proper selenium tests but someone will have to maintain those tests (which is almost always the real challenge).

Hi and sorry for the late reply.

Reg. adding webhosters to INSTALL.md: I don't think the installation instructions that are targetted at folks that want to install it on their own server or a generic PHP hosting environment are the correct place to list webhosters that offer the application install via hosting backend. It could be construed as endorsement of that company and we would have to set up guidelines for hosters to be added to that list. How about you create a dedicated Wiki page for privatebin web hosters where every hoster can add themselfs to the list (similar to the directory of instances)?

Reg. end-2-end testing using selenium: That is pretty nicely done. I'd be happy to integrate it into our push/PR testing automation, if we can figure out how to run this in Travis CI, which is where all the phpunit and mocha tests run currently. That might also warn us when a new browser version introduces braking changes that we need to address. Now that we rely more on JS APIs and WASM, we seem to be a bit more vulnerable to those. There seem to be a number of ways to do this in Travis, but someone needs to figure this out in detail.

Reg. your Dockerfile:

  1. I wouldn't recommend to use some random commit from master, but rather stick to the more deeply tested release archives. This would also let you use the the gpg signatures to verify the archives haven't been tampered with during download or on github.
  2. Please consider moving folders that don't contain static resources (js, css, images, json) outside of the web root to harden the setup. See for example our Dockerfile on how to do this:
    https://github.com/PrivateBin/docker-nginx-fpm-alpine/blob/0160b8e0515f36b030ec1d014485f5ea2e3e1936/Dockerfile#L33-L38

I will make a separate page for Cloudron on the wiki (sort of like the docker page). I understand that putting this in the main install page might be seen as an endorsement.

For the random commit, we usually only use proper upstream tags but there is a bug in the latest release where disabling a password makes privatebin not work (https://github.com/PrivateBin/PrivateBin/pull/536).

As for the webroot, thanks for the hint. I will fix up our package.

Instead of a top-level Cloudron page, I added https://github.com/PrivateBin/PrivateBin/wiki/Other-installation-methods . Hope that's OK. Maybe we can add other control panels/PaaS platforms as they come up there.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hardware picture hardware  Â·  4Comments

HLeithner picture HLeithner  Â·  3Comments

LuckySandwich picture LuckySandwich  Â·  4Comments

pstray picture pstray  Â·  7Comments

Kcchouette picture Kcchouette  Â·  5Comments