portainer / portainer

Making Docker and Kubernetes management easy.
https://www.portainer.io
zlib License
30.39k stars 2.43k forks source link

There is no option to hide the "Upgrade to Business Edition" obnoxious yellow banner #8452

Closed rursache closed 1 year ago

rursache commented 1 year ago

Bug description Running the Community Edition 2.17.0 version of Portainer, a distracting yellow banner will appear.

Expected behavior At least some option to hide it or make it less obnoxious eg. same background color as the rest of the page

Steps to reproduce the issue:

  1. Update to 2.17.0
  2. Open Portainer dashboard
tamarahenson commented 1 year ago

@rursache

Thank you for the information. I am going to log an internal issue.

Thanks!

tjharman commented 1 year ago

Hoping for a way to turn this off, or at least make it less jaring for us home users who are happy with Commnuntiy and have no requirement/budget to upgrade to Business. Maybe something like Proxmox does, a single "Hey this isn't licensed!" each time you log in that you have to click to dismiss. Or even some sort of tucked away key we can toggle to turn it off for 30 days or something before it comes back. Thanks very much.

Hukuma1 commented 1 year ago

Was surprised to see this jarring banner that cannot be hidden from view. Hope this isn't the beginning of the end! haha

Sammy1Am commented 1 year ago

Even more annoying are navigation items that just display giant orange boxes. If I don't have business edition, why even show that option to me in the first place? image

Not going to lie, kind of making me consider finding a different management solution (Portainer's great and all, but not magical).

rursache commented 1 year ago

@tjharman: Maybe something like Proxmox does, a single "Hey this isn't licensed!" each time you log in that you have to click to dismiss.

that's even worse - nagging each login... no thanks. they should just add a toggle in settings or just remove these boxes entirely

tjharman commented 1 year ago

that's even worse - nagging each login... no thanks. they should just add a toggle in settings or just remove these boxes entirely

Is a single dismissable nag not a lot better than an undissmissable nag?

Personally I have no issue with them promoting the fact they have a paid option - we all have to make money/eat after all. I think it just needs a way to say "Yup saw your ad, thanks!" and then dismiss it. Like I said, this is what Promox does and I think it strikes a good balance between reminding you that the paid option exists vs not getting in your face as you do your day-to-day tasks.

mccask commented 1 year ago

While I understand the need to monetize your product, using obtrusive/alarming colors and/or repetition to do so will lose users. Please find alternate means to upsell.

arazilsongweaver commented 1 year ago

At the very least, there should be an option in Application Settings to turn off the new banner and the colors of the new banner should be adjusted to better match the current theme. As implemented, this change makes Portainer Community Edition feel like Portainer Trial Edition.

kmaid commented 1 year ago

Fwiw adblock works a treat for nuking this messaging

networkabilityllc commented 1 year ago

I found an acceptable solution:

sudo docker stop
sudo docker rm portainer
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer     --restart=always     -v /var/run/docker.sock:/var/run/docker.sock     -v portainer_data:/data     cr.portainer.io/portainer/portainer-ce:2.16.2

I don't need 2.17.0 with it's accompanying nag banner to run my containers at home. I already have a business license for work, and it's a kick in the teeth to have this banner in my face for the community edition.

mccask commented 1 year ago

Fwiw adblock works a treat for nuking this messaging

Yes, I mentioned that on the Reddit thread. Block Element works well.

andyschmid commented 1 year ago

+1 Please add an option to hide/dismiss this banner.

rowanmoul commented 1 year ago

Community Edition should not be made to feel like a "30 day free trial" as others have said. It should be possible to turn off ALL "business edition only" call-outs and simply hide those features instead. I fully support having these turned on by default on new installations, but it should be possible to disable them for users that have no need or intention to upgrade (home users). I'll be happy to just get the banner removed as a first step though :smile:

omerome83 commented 1 year ago

Please make an option to hide this banner. It really is an eyesore.

darioandreella commented 1 year ago

I can only agree and subscribe to what already said. Have been using Portainer happily for years, I was quite pissed off by the disabled options as a form of advertisement, making the UI quite tangled and dirty, but this yellow punch in your face :fist_oncoming: (even more violent with the dark theme) instantly triggered my reaction:

I hope they will consider our point of view, all of us are here because we love the project! :two_hearts:

darioandreella commented 1 year ago

Was surprised to see this jarring banner that cannot be hidden from view. Hope this isn't the beginning of the end! haha

I had the exact same thought @Hukuma1!! :boom::rofl:

hhromic commented 1 year ago

I'm also very astonished by this banner. It was even announced as a new "feature":

image

I hope Portainer goes back to remembering it roots: the Open Source Community.

@darioandreella

to consider one of the many decent alternatives that I didn't take seriously before, because I was happy enough with Portainer

Anything worth mentioning to take a look? 🙈

GabyPCgeeK commented 1 year ago

Steps to remove "Upgrade to Business Edition" button:

portainer

amanpatel commented 1 year ago

In my opinion the color choice is the only thing fatal about this change. I support the decision to keep a link or advertise this fact, but putting it in bright yellow/orange warning hue is criminal (kind of like how we had some ads that would use animated flashing colors in the late 90s and dot com era).

hhromic commented 1 year ago

I think the way it was done in the previous version (2.16.2) was perfectly fine:

image

The only difference would be that the "Upgrade" link points to the new functionality to do the upgrade in-UI instead of the install guide website as it is in 2.16.2.

slaygirlz commented 1 year ago

password issue then this?

JaneJeon commented 1 year ago

+1 for this. This severely eats up any community goodwill that Portainer has built up over the years - build a good product people will need (the Business Edition - not Community Edition), and demand will come. Trying to push obnoxious banners in people's instances to artificially boost sales number is not helping anybody in this situation imo.

0x09AF commented 1 year ago

Steps to remove "Upgrade to Business Edition" button:

* Acquire `/public/main.238cdfbf7e0dc1135a28.js` file (using `docker export`, `docker save` or some other method)

* Replace `(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)("button",{type:"button",className:"border-0 bg-warning-5 text-warning-9 w-full py-2 font-semibold flex justify-center items-center gap-3",onClick:function(){t(e?"portainer-upgrade-admin":"portainer-upgrade-non-admin",{category:"portainer",metadata:d}),o(!0)},children:[n&&(0,B.jsx)(B.Fragment,{children:"Upgrade to Business Edition"}),(0,B.jsx)(Js.Z,{className:"text-lg lucide"})]}),s&&(0,B.jsx)(kg,{onDismiss:function(){return o(!1)}})]})` with `null`

* Mount modified `main.238cdfbf7e0dc1135a28.js` as a bind volume (`/path/to/main.238cdfbf7e0dc1135a28.js:/public/main.238cdfbf7e0dc1135a28.js`)

* Enjoy portainer without the button

portainer This is the correct answer!

JoatmonX commented 1 year ago
  • to come here and look for others having my same thoughts ✔️
  • to consider one of the many decent alternatives that I didn't take seriously before, because I was happy enough with Portainer

Same. OMV makes it easy to install Yacht along side Portainer. Had never bothered to even try it, installed it this morning.

telemakhos commented 1 year ago

What's up with the "uPgRaDe tO buSsInEsS" spam? Tutum started with the same bs until they killed the project... just saying... downgrading for now

Sammy1Am commented 1 year ago

install Yacht along side Portainer.

I'd totally forgotten I could just install something at the same time as Portainer to try it out / compare. Going to do that later today.

My additional two cents on a solution: A dismiss button on the banner would be awesome, a settings switch to hide it fine as well. But I would also like to see the menu items that aren't available hidden as well. I don't need to keep going "Oh hey, is this a useful setting?" just to get blasted by an ad.

rdwebdesign commented 1 year ago

Portainer has the right to include ads, but could make them less intrusive.

It's possible to make it less annoying even without removing it:

ZigMeowNyan commented 1 year ago

Please find ways to suggest your business edition without banners and bright yellow. Banners take up valuable screen real estate and shift the entire UI down - increasing the likelihood that people now need to scroll to do work they could do without scrolling before.

Furthermore, yellow is generally used as an informational or warning message, so while misusing it in this way does guarantee attention, it also guarantees resentment. For real, this idea smells like a freshman business administration / "entrepreneur" monetization stunt from someone who doesn't understand the product or the market at all. I can almost hear them whining in response, "It's not yellow though, it's gold." Presumably they picked gold for these premium/business features because gold is valuable. Please tell me you didn't think that this was an original, innovative idea. It's been rolled out many times before with minimal success. Especially with products like yours which at one point had a monopoly, but then had to compete with other solutions.

This just makes people think (correctly) that you're okay with making the community edition a worse product as long as it means you can monetize users. Even though that might not have been your intention, that's what you did. For the vast majority of users who have limited, specific needs, it will just lower product confidence and drive them to investigate alternatives. That shouldn't be your goal or method if you're trying to grow marketshare and revenue at the same time.

Here's how you provide a monetization pipeline without alienating your hard-won userbase:

  1. Have a discreet advertisement like before (e.g. 2.16.2) in a place that either doesn't require any additional rendering space or adds space to the bottom. Your monetization pipeline is people who need more features, not magpies easily distracted by shiny objects. People who want missing features will look through your product for them on their own without you shoving it in their face.
  2. Inline feature preview is okay, but make it less gauche. We're managing containers, not buying jewelry as a gift. Let's talk about how to do that.
  3. Add an option to the bottom of the top-level configuration page that enables or disables the preview of business features for people who want to see that. You don't need to put it at the top to prove your need for attention. New and existing users of this product will scroll to the bottom of a configuration page. Don't be thirsty.
  4. For extra good will, disable that business feature preview by default. Having the UX peppered with unusable features is bad design. And a smooth transition during the update means less disgruntled users. Your users are still going to look through options for new features. Have some confidence in your product and in the market it targets.
  5. Add a discrete link to business pricing and a brief feature summary below/next to that business feature preview option.
  6. Congratulate yourself on having developed a resentment-free monetization pipeline without hemorrhaging users.
  7. If you absolutely cannot live without everyone always being able to see that there are business features on every page, have a small, color-neutral toggle captioned "Preview Premium". If you insist on putting this at the top, make sure the toggle is designed to not impact the layout or unnecessarily distract. Putting at the bottom means you can make it as wordy as you like. Clicking it should expand and display those hidden features, but only for that page and you should have to click it every time the page loads to preview instead of changing a setting. Permanent settings go in the configuration page. Don't break that rule just to advertise. Just as you shouldn't break the rule of damaging UX in order to advertise. Doing that for a on-premise self-hosted solution cheapens the brand. You're not an MLM blog spamming Amazon referral links. Have some class.
  8. Consider an optional update tour with a similarly non-layout-destroying discreet link as with the upgrade option mentioned in point 1. This is your chance to build excitement while simultaneously advertising the benefits of the paid tiers.

For real, this stuff isn't hard. Make sure to get input on stuff like this from various people in your community and company rather than just asking the MBAs and accountants. And take their feedback seriously.

Codelica commented 1 year ago

Furthermore, yellow is generally used as an informational or warning message, so while misusing it in this way does guarantee attention, it also guarantees resentment. For real, this idea smells like a freshman business administration / "entrepreneur" monetization stunt from someone who doesn't understand the product or the market at all. I can almost hear them whining in response, "It's not yellow though, it's gold." Presumably they picked gold for these premium/business features because gold is valuable. Please tell me you didn't think that this was an original, innovative idea. It's been rolled out many times before with minimal success. Especially with products like yours which at one point had a monopoly, but then had to compete with other solutions.

Hard to argue they aren't warnings when they use the warning classes... https://github.com/portainer/portainer/blob/123754cee7e1448c31a71effb809959ffbb2fea9/app/react/sidebar/UpgradeBEBanner/UpgradeBEBanner.tsx#L60

ZigMeowNyan commented 1 year ago

Hard to argue they aren't warnings when they use the warning classes...

https://github.com/portainer/portainer/blob/123754cee7e1448c31a71effb809959ffbb2fea9/app/react/sidebar/UpgradeBEBanner/UpgradeBEBanner.tsx#L60

True, but warning people to upgrade to business edition definitely undermines confidence in the future stability of the community edition. They're welcome to take that stance, sure, but I'll give them enough leeway to walk that back.

Octothorn commented 1 year ago

I am a little concerned that if these slightly annoying nag alerts don't get the desired monetisation, will we see features withheld from the community edition?

Somebody, please say it isn't so. Is a portainer fork going to be the way forward for people who are happy with the CE as it is/was?

kstabel commented 1 year ago

Somebody, please say it isn't so. Is a portainer fork going to be the way forward for people who are happy with the CE as it is/was?

If they don't tone it down, someone will.

Luk164 commented 1 year ago

Steps to remove "Upgrade to Business Edition" button:

* Acquire `/public/main.238cdfbf7e0dc1135a28.js` file (using `docker export`, `docker save` or some other method)

* Replace `(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)("button",{type:"button",className:"border-0 bg-warning-5 text-warning-9 w-full py-2 font-semibold flex justify-center items-center gap-3",onClick:function(){t(e?"portainer-upgrade-admin":"portainer-upgrade-non-admin",{category:"portainer",metadata:d}),o(!0)},children:[n&&(0,B.jsx)(B.Fragment,{children:"Upgrade to Business Edition"}),(0,B.jsx)(Js.Z,{className:"text-lg lucide"})]}),s&&(0,B.jsx)(kg,{onDismiss:function(){return o(!1)}})]})` with `null`

* Mount modified `main.238cdfbf7e0dc1135a28.js` as a bind volume (`/path/to/main.238cdfbf7e0dc1135a28.js:/public/main.238cdfbf7e0dc1135a28.js`)

* Enjoy portainer without the button

portainer

Would it be possible to make it a script please? Or put it in Dockerfile?

darioandreella commented 1 year ago

I'm also very astonished by this banner. It was even announced as a new "feature":

I hope Portainer goes back to remembering it roots: the Open Source Community.

@darioandreella

to consider one of the many decent alternatives that I didn't take seriously before, because I was happy enough with Portainer

Anything worth mentioning to take a look? see_no_evil

@hhromic Yes, I just thought it was maybe not that polite to start making names here... but as you can see, others did already. I don't know Yacht, but -as already mentioned- it can be installed alongside Portainer for testing. Each alternative have their own take, can be that it works for you or not.

A bit the same can be said for the workarounds. Yes it can be done, and great that someone pointed out how (I miss some steps, I'll have to look into it), but we were here to let the Portainer people hear our voice, that is the main point here, in my opinion.

GustelDE commented 1 year ago

Bet they held serveral meetings and did brainstormings, which resulted in a nonsense like this. A single person isnt able to introduce such a dummy thingy...

Octothorn commented 1 year ago

Hm:

Latest News From Portainer ... Upgrade to Portainer Business with a free license for up to 5 nodes [here](https://bit.ly/3Ds1bB2) . Learn more about the new features and how to upgrade [here](https://bit.ly/3fkZgGF).

May be the best way to remove the nag screen.

kstabel commented 1 year ago

Hm:

Latest News From Portainer ... Upgrade to Portainer Business with a free license for up to 5 nodes here . Learn more about the new features and how to upgrade here.

May be the best way to remove the nag screen.

While that is very generous of them, and I personally appreciate the generosity (as i'm sure many others do), I also do not like the idea of having to acquire a license (or "permission", if you will) to use open source software. Licenses, agreements, terms and conditions, etc can be and are changed all the time.

The CE features are more than enough for my use case. I am simply not interested in the BE features. I don't need them. Having to request a license, simply to remove a banner doesn't sit right with me. We are all aware of the business edition features, and the advantages that it brings to enterprise. Absolutely no contesting the advantages there.

However, forcing these upsells on users is just going to drive them away, and the potential sales with them.

Just my 2c

darioandreella commented 1 year ago

Hm:

Latest News From Portainer ... Upgrade to Portainer Business with a free license for up to 5 nodes here . Learn more about the new features and how to upgrade here.

May be the best way to remove the nag screen.

While that is very generous of them, and I personally appreciate the generosity (as i'm sure many others do), I also do not like the idea of having to acquire a license (or "permission", if you will) to use open source software. Licenses, agreements, terms and conditions, etc can be and are changed all the time.

The CE features are more than enough for my use case. I am simply not interested in the BE features. I don't need them. Having to request a license, simply to remove a banner doesn't sit right with me. We are all aware of the business edition features, and the advantages that it brings to enterprise. Absolutely no contesting the advantages there.

However, forcing these upsells on users is just going to drive them away, and the potential sales with them.

Just my 2c

Agree @kstabel the point of using Open Source software and Community versions is indeed not to be caught into licensing issues, contracts and other crap. I am instantly out of here if that will be the only way forward. I am no one, they can say they don't care, but that's one of the main point for me to be using FOSS.

@hhromic I installed Yacht (nice of them to mention the port 8001 if already running Portainer, even if I use ssl). It went up very fast and clean, and I like the interface. I am already cornered by the fact that I am using "Stacks" in Portainer (docker-compose managed from within). I can see that Yacht has "Projects" that must be something similar, I can see the single containers and volumes and images, now I need to understand if the Stacks and the Projects can talk to each other, or if I have to copy/re-deploy as Projects in Yacht... Anyways, always good to learn new things.

Octothorn commented 1 year ago

There is some political flavor here which I am not entirely onboard with. I have, at no cost, registered my version of Portainer. Now I have a nag-free Portainer Business Edition with access to additional features that I can explore and potentially add to my processes. That was an easy fix.

As an aside, I do agree with the notion of FOSS, and would (at this time) happily switch to a FOSS fork of Portainer.

However the Portainer team have made some non-free features available free for the "price" of requesting a license code. That's nice. I made my mind up to go with that. It's a personal choice, and I can now explore the expanded utility.

Octothorn commented 1 year ago

... I also do not like the idea of having to acquire a license (or "permission", if you will) to use open source software. Licenses, agreements, terms and conditions, etc can be and are changed all the time.

I think that the open-source core of Portainer is in no way hobbled, If I am correct, then you can continue to use the FOSS product without registering it, and have full access to all the features provided by the open-source code.

This does not actually sound like "having to acquire a license to use open source software"; the license is to activate and use non-free features.

mrspir commented 1 year ago

If you are using an ad blocker like Adguard or AdblockPlus, You can add this rule in the User Rules section to avoid interfering with the docker file. Remember to change yourdomain to your portainers website name.

Yourdomain.com###sideview > sidebar.ng-scope.ng-isolate-scope > div.app-react-sidebar-Sidebar-module__root.sidebar.flex.flex-col > button.border-0.bg-warning- 5.text-warning-9.w-full.py-2.font-semibold.flex.justify-center.items-center.gap-3:first-child

Codelica commented 1 year ago

@Octothorn it should be mentioned that the "free" license also comes with the agreement of continued business/marketing email to you.

arazilsongweaver commented 1 year ago

@Octothorn it should be mentioned that the "free" license also comes with the agreement of continued business/marketing email to you.

There is a theoretical opt-out, but it requires some effort. See: https://www.reddit.com/r/portainer/comments/10nqgd4/eli5_take_5_portainer_business_license/j89go1g/

kstabel commented 1 year ago

I think that the open-source core of Portainer is in no way hobbled, If I am correct, then you can continue to use the FOSS product without registering it, and have full access to all the features provided by the open-source code.

This does not actually sound like "having to acquire a license to use open source software"; the license is to activate and use non-free features.

I disagree. This github issue wouldn't exist if that was the case. Having a big fat banner and greyed out features all over is an overly aggressive way of pushing a product. It's out of place in open source software, IMHO.

While you may be fine with requesting permission to use FOSS software unhindered by these distracting banners, others clearly aren't.

I hope this gets resolved at some point.

Octothorn commented 1 year ago

it should be mentioned that the "free" license also comes with the agreement of continued business/marketing email to you.

@Codelica @arazilsongweaver

This was never an issue. The very first email they send - the signup notification - contains an unsubscribe link. No effort is required.

@kstabel I do see your point and agree it was jarring the first time I saw those changes. I would have gotten used to it. I suspect a fork of the OG FOSS Portainer code will happen eventually.

For me, registration had the best outcome for the least effort. An even simpler solution would have been to just ignore the banners, but then I wouldn't be able to play with the free BE features.

As for your comment "This GitHub issue wouldn't exist if that was the case." for ref, the GitHub issue is that there is "no option to hide" those banners. I disagree. The option is a free registration. It worked for me, and I am yet to see a downside.

I do love FOSS, but for me, this is not the hill to die on. So many projects, and so little time.

ngxson commented 1 year ago

My solution using nginx and ngx_http_js_module : https://gist.github.com/ngxson/f50e11ee0f2549410b6992becc9bfebe

The goal is to inject a line of Js code: document.head.insertAdjacentHTML("beforeend", "<style>div.sidebar > button {display: none;}</style>");

Not the best solution, but should be useful if you also want to add / modify other UI elements, or even adding basic authentication via nginx to prevent random bots on the internet to access the page.

tamarahenson commented 1 year ago

Update:

The banner is being re-designed for 2.17.1.

Thanks!

Hukuma1 commented 1 year ago

While we're on the subject of CE free vs BE 5 free license path... is there any user information or other telemetry being collected from either of these products?

opensourcefan commented 1 year ago

Fwiw adblock works a treat for nuking this messaging

This worked very well obviously.

However now I feel "dirty" as if I'm circumventing something when the CE edition is there for that purpose. The trajectory of this development mindset is concerning.

ForsakenRei commented 1 year ago

It seems I'm not the only one. I mean, I'm fine if you introduce a button to show there is a way to upgrade to business edition even for us home users, but the bright yellow really hurt me as a dark theme user. Hope it can get done right in the next update.