In Docker LXC "update" overwrites manually installed Portainer #1744

Closed
opened 2026-02-05 02:07:15 +03:00 by OVERLORD · 13 comments
Owner

Originally created by @zolakt on GitHub (Oct 7, 2025).

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Docker

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/docker-vm.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 13

📈 Which Proxmox version are you on?

9.0.10

📝 Provide a clear and concise description of the issue.

I deployed Docket LXC, and I didn't choose to install Portainer through the script, since I use the Portainer BE edition. I've installed it manually later with docker compose.

Now when I run update in the container, it downloads and deploys Portainer CE, even though I haven't selected to install it throught the script. This kicks out my BE instance, and I have to manually stop CE, prune, and deploy my BE again.

In my opinion, it should either:
a) respect what you initially selected and not keep forcing it's own Portainer
b) not have Portainer bundled in the script at all. It's not a bare metal installation anyway. If you are spinning up a Docker LXC, you can install Portainer yourself, whichever version you want

🔄 Steps to reproduce the issue.

  1. update

Paste the full error output (if available).

  ⏳   Updating Portainerlatest: Pulling from portainer/portainer-ce
Digest: sha256:264443d4063e0f2633f3ba210ccd69aacf07344dfc792128131dec8963df0f0a
Status: Image is up to date for portainer/portainer-ce:latest
docker.io/portainer/portainer-ce:latest
portainer
portainer
f9272e6796a2d6ec5d572bf824bc18ee1b292f9d425513be74ccaaee7930fded
  ✔️   Updated Portainer

🖼️ Additional context (optional).

No response

Originally created by @zolakt on GitHub (Oct 7, 2025). ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Docker ### 📂 What was the exact command used to execute the script? `bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/docker-vm.sh)"` ### ⚙️ What settings are you using? - [x] Default Settings - [ ] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 13 ### 📈 Which Proxmox version are you on? 9.0.10 ### 📝 Provide a clear and concise description of the issue. I deployed Docket LXC, and I didn't choose to install Portainer through the script, since I use the Portainer BE edition. I've installed it manually later with docker compose. Now when I run `update` in the container, it downloads and deploys Portainer CE, even though I haven't selected to install it throught the script. This kicks out my BE instance, and I have to manually stop CE, prune, and deploy my BE again. In my opinion, it should either: a) respect what you initially selected and not keep forcing it's own Portainer b) not have Portainer bundled in the script at all. It's not a bare metal installation anyway. If you are spinning up a Docker LXC, you can install Portainer yourself, whichever version you want ### 🔄 Steps to reproduce the issue. 1. `update` ### ❌ Paste the full error output (if available). ``` ⏳ Updating Portainerlatest: Pulling from portainer/portainer-ce Digest: sha256:264443d4063e0f2633f3ba210ccd69aacf07344dfc792128131dec8963df0f0a Status: Image is up to date for portainer/portainer-ce:latest docker.io/portainer/portainer-ce:latest portainer portainer f9272e6796a2d6ec5d572bf824bc18ee1b292f9d425513be74ccaaee7930fded ✔️ Updated Portainer ``` ### 🖼️ Additional context (optional). _No response_
OVERLORD added the bug label 2026-02-05 02:07:15 +03:00
Author
Owner

@MickLesk commented on GitHub (Oct 7, 2025):

Manual Changes => Not our Script.
So Update docker manually. We dont increase the Script for Not CE Versions

I think you can enter the 2 lines apt update and apt upgrade yourself, without "Update" Script

@MickLesk commented on GitHub (Oct 7, 2025): Manual Changes => Not our Script. So Update docker manually. We dont increase the Script for Not CE Versions I think you can enter the 2 lines apt update and apt upgrade yourself, without "Update" Script
Author
Owner

@zolakt commented on GitHub (Oct 7, 2025):

What manual changes? It's a Docker script, not a Portainer script. There is literally no benefit of having Portainer installed through the script when it runs in Docker anway. Why are you even pushing it into the script?

@zolakt commented on GitHub (Oct 7, 2025): What manual changes? It's a Docker script, not a Portainer script. There is literally no benefit of having Portainer installed through the script when it runs in Docker anway. Why are you even pushing it into the script?
Author
Owner

@MickLesk commented on GitHub (Oct 7, 2025):

Manual Change => other Portainer then CE

The Update Script Check If Portainer installed and Update it. But we only Provide the CE.

Just don't use the update function. There's no point in unnecessarily bloating the script just because one in 10,000 people use BE instead of CE.

@MickLesk commented on GitHub (Oct 7, 2025): Manual Change => other Portainer then CE The Update Script Check If Portainer installed and Update it. But we only Provide the CE. Just don't use the update function. There's no point in unnecessarily bloating the script just because one in 10,000 people use BE instead of CE.
Author
Owner

@zolakt commented on GitHub (Oct 7, 2025):

I'm suggesting the exact opposite of bloating the script. My point is that Portainer shouldn't even be part of the script. There is literally no benefit of that. It's not a bare metal installation. Its just a docker container, like million others

@zolakt commented on GitHub (Oct 7, 2025): I'm suggesting the exact opposite of bloating the script. My point is that Portainer shouldn't even be part of the script. There is literally no benefit of that. It's not a bare metal installation. Its just a docker container, like million others
Author
Owner

@MickLesk commented on GitHub (Oct 7, 2025):

We offer the option to install Portainer directly, y/N. Once it is installed, there have been multiple requests to update it as well. What's the downside? Nothing.

@MickLesk commented on GitHub (Oct 7, 2025): We offer the option to install Portainer directly, y/N. Once it is installed, there have been multiple requests to update it as well. What's the downside? Nothing.
Author
Owner

@zolakt commented on GitHub (Oct 7, 2025):

And you don't respect that option... I chose No... and yet it's forcing it with every update.
What is the dowside of not having that option at all? Nothing. A less opinionated script.

@zolakt commented on GitHub (Oct 7, 2025): And you don't respect that option... I chose No... and yet it's forcing it with every update. What is the dowside of not having that option at all? Nothing. A less opinionated script.
Author
Owner

@MickLesk commented on GitHub (Oct 7, 2025):

Make a PR If you think you can do it better or smarter 🤷🏼‍♂️

@MickLesk commented on GitHub (Oct 7, 2025): Make a PR If you think you can do it better or smarter 🤷🏼‍♂️
Author
Owner

@zolakt commented on GitHub (Oct 7, 2025):

Nice attitude... For a community project you are more than eager to shoot down every possible suggestion (not isolated to this thread)... I don't even want to know how you deal with criticism

@zolakt commented on GitHub (Oct 7, 2025): Nice attitude... For a community project you are more than eager to shoot down every possible suggestion (not isolated to this thread)... I don't even want to know how you deal with criticism
Author
Owner

@MickLesk commented on GitHub (Oct 7, 2025):

Yes, exactly. Clarify it with the other @community-scripts/contributor ; maybe someone will help you if you simply ignore all my comments and don't respond to them at all. The main thing is to get your own way. And as you say, it's a community project. Then make a PR; it will be reviewed or modified by at least two people. But no, I'm supposed to play slave 🙂

Edit:
And to be honest, who needs an update function for that? If it only works in Docker? It's a single line.

apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io

@MickLesk commented on GitHub (Oct 7, 2025): Yes, exactly. Clarify it with the other @community-scripts/contributor ; maybe someone will help you if you simply ignore all my comments and don't respond to them at all. The main thing is to get your own way. And as you say, it's a community project. Then make a PR; it will be reviewed or modified by at least two people. But no, I'm supposed to play slave 🙂 Edit: And to be honest, who needs an update function for that? If it only works in Docker? It's a single line. apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io
Author
Owner

@zolakt commented on GitHub (Oct 7, 2025):

What comment did I ignore, please enlighten me?

With this kind of attitude, what is the point of making a PR? So you could shoot it down in 5 seconds, same as you did for this thread. You aren't even open for discussion, it's just "my way or the high way"

Edit: I could equally ask who needs a script for installing portainer, it's just copy-paste a compose file and run "docker compose up -d"

@zolakt commented on GitHub (Oct 7, 2025): What comment did I ignore, please enlighten me? With this kind of attitude, what is the point of making a PR? So you could shoot it down in 5 seconds, same as you did for this thread. You aren't even open for discussion, it's just "my way or the high way" Edit: I could equally ask who needs a script for installing portainer, it's just copy-paste a compose file and run "docker compose up -d"
Author
Owner

@tremor021 commented on GitHub (Oct 7, 2025):

OK my guy...
Few things here:

  1. The script gives optional Portainer installation, which you can ignore, yes
  2. If you would just take like 2 seconds of your life from arguing about update script and read few lines of it, you can see that update function checks if there is a Portainer container running and if it does it also updates that. This is all made to make Portainer CE, which is optional install, update alongside docker itself. If you don't like how the update function does its job, you can easily update the LXC by issuing oneline bash command @MickLesk mentioned. I'm not really sure why are you pressing so much about this.
  3. This is a Homelab project, we don't support Portainer BE, we only install and update CE edition.

Out all of this you can clearly see that nothing in this script applies to your use case and you shouldn't use the update function on your LXC, rather do the updates manually as you deviate from the original logic of the script. Not sure how this is not clear.
Instead of arguing that script should accomodate your use case, you should adapt your workflow according to your use case.

echo "apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io" > /usr/bin/update
chmod +x /usr/bin/update

run update and your docker environment will be updated without touching Portainer

You can also do as @MickLesk said and push a PR with code that should change and rest of the @community-scripts/contributor will take a look and give feedback.

@tremor021 commented on GitHub (Oct 7, 2025): OK my guy... Few things here: 1. The script gives optional Portainer installation, which you can ignore, yes 2. If you would just take like 2 seconds of your life from arguing about update script and read few lines of it, you can see that update function checks if there is a Portainer container running and if it does it also updates that. This is all made to make Portainer CE, which is optional install, update alongside docker itself. If you don't like how the update function does its job, you can easily update the LXC by issuing oneline bash command @MickLesk mentioned. I'm not really sure why are you pressing so much about this. 3. This is a Homelab project, we don't support Portainer BE, we only install and update CE edition. Out all of this you can clearly see that nothing in this script applies to your use case and you shouldn't use the update function on your LXC, rather do the updates manually as you deviate from the original logic of the script. Not sure how this is not clear. Instead of arguing that script should accomodate your use case, you should adapt your workflow according to your use case. ```bash echo "apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io" > /usr/bin/update chmod +x /usr/bin/update ``` run `update` and your docker environment will be updated without touching Portainer You can also do as @MickLesk said and push a PR with code that should change and rest of the @community-scripts/contributor will take a look and give feedback.
Author
Owner

@zolakt commented on GitHub (Oct 8, 2025):

I really don't get why are you objecting this so much. I'm not suggesting any additional complexity. I'm suggesting a simplification. Leave Portainer out of this script completely, otherwise this is a "Portainer CE" script, not a "Docker" script.

The option you have is inconsistent and misleading. I select No, an yet that is not respected in future updates. So no, I can't ignore the "optional installation", as you say, since it's not really optional in this case. I really don't see what is so special about Portainer that it justifies this inconsistency.

Making a PR is clearly pointless since you act as this is written in stone and pure gold.

@zolakt commented on GitHub (Oct 8, 2025): I really don't get why are you objecting this so much. I'm not suggesting any additional complexity. I'm suggesting a simplification. Leave Portainer out of this script completely, otherwise this is a "Portainer CE" script, not a "Docker" script. The option you have is inconsistent and misleading. I select No, an yet that is not respected in future updates. So no, I can't ignore the "optional installation", as you say, since it's not really optional in this case. I really don't see what is so special about Portainer that it justifies this inconsistency. Making a PR is clearly pointless since you act as this is written in stone and pure gold.
Author
Owner

@tremor021 commented on GitHub (Oct 8, 2025):

I feel like talking to a wall here...
Not sure how i'm not getting through to you. Portainer is optional install. If you chose NO, the update script will not detect the Portainer container and all is good.

What you did is, you installed Portainer BE even though you initially chose NOT to install Portainer. After this the update script again has a Portainer container to detect, which initially it didn't, hence skipping the updating of it.

My guy, you are using the script in the way its not inteded. The moment you did that, all your issues are yours alone and not ours.
We install Portainer CE if you wish, if you dont it wont be installed or updated.

i already gave you 2 lines of bash commands that you should use to replace initial update script with a custom update script for your use case, yet you keep on yapping about it... i feel like this goes nowhere with you, i'm just gonna lock this issue

Either use the script as its intended, or mess with it and lose support from us and be on your own.

Cheers

@tremor021 commented on GitHub (Oct 8, 2025): I feel like talking to a wall here... Not sure how i'm not getting through to you. Portainer is optional install. If you chose NO, the update script will not detect the Portainer container and all is good. What you did is, you installed Portainer BE even though you initially chose NOT to install Portainer. After this the update script again has a Portainer container to detect, which initially it didn't, hence skipping the updating of it. My guy, you are using the script in the way its not inteded. The moment you did that, all your issues are yours alone and not ours. We install Portainer CE if you wish, if you dont it wont be installed or updated. i already gave you 2 lines of bash commands that you should use to replace initial update script with a custom update script for your use case, yet you keep on yapping about it... i feel like this goes nowhere with you, i'm just gonna lock this issue Either use the script as its intended, or mess with it and lose support from us and be on your own. Cheers
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1744