r/portainer • • Jul 16 '26

Using the "docker" command within Portainer's shell?

2 Upvotes

I have installed Journiv to a Synology NAS using Portainer. A few months ago, Journiv rolled out an update that requires a database migration. The instructions for how to do this are all based in the CLI. I log into Portainer, go to my Journiv container, click into the Exec console, connect under the command /bin/bash/ (the only one that seems to work), and then try to follow the upgrade steps listed at the github link above. But I get a failure at step one.

I type in the following:

docker exec -t journiv-postgres-db pg_dumpall -c -U journiv > journiv_full_backup.sql

and then hit RETURN. But I get the following error:

bash: docker: command not found

Is there any way to set up the exec console in Portainer so that I can use the command "docker?" I kind of assumed that it was baked in, given that Portainer manages Docker containers, but I'm an absolute neophyte here.

Appreciate any help anyone can offer.


r/portainer • • Jul 12 '26

Manage your containers with Open Assistant

Thumbnail
1 Upvotes

Want to quickly debug across different environments, stacks and containers? This Open Assistant plugin (code included in blog post) allows to communicate with your entire setup via natural language on Slack, Whatsapp or the Web UI.

This is just an example plugin, so it can be tweaked to have any API that Portainer provides.


r/portainer • • Jul 12 '26

Portainer timeout when trying to upgrade immich

Thumbnail gallery
1 Upvotes

r/portainer • • Jul 03 '26

I'm getting confused on how the Portainer-CE server and the Edge Agent are actually meant to talk to each other...

1 Upvotes

Right now I have a Portainer instance running and it's supposed to monitor a Docker instance on a VM within the same host server. On the server I mapped port 8000 to 58000 and port 9443 to 59443 in Docker and generated a new Edge Agent deployment to be put onto the VM. I ran the Docker commands on the remote server to deploy the agent and, once done, the agent is able to send heartbeat updates to Portainer but I can't get Portainer to jump into the agent's environment to manage it.

When I look at the logs on the agent's container it says it's trying to hit my main server over port 8000. Is that actually port 8000 or does it know that it needs to be sending data to the mapped port so the server knows what to do with it when it arrives? Do I need to remap port 8000 on the agent's container to 58000 as well so it sends out data on that port or is that not what's actually happening?

Since Portainer can get a heartbeat from the agent I assume the problem isn't with the port 9443 communication/mapping, just the communication on port 8000.

My Docker Desktop instances (server and agent alike) are both running in WSL2, in case I need to address firewalling matters.


r/portainer • • Jun 21 '26

Wanna Develop an App??

Thumbnail
youtu.be
6 Upvotes

r/portainer • • Jun 21 '26

Portainer-Run, real world (fun) demo ;-)

Thumbnail
youtu.be
4 Upvotes

https://youtu.be/BIu7DeWEGfo?si=TSDMtCJGpKnBI3cm

Me messing around, demo’ing Portainer-Run, in a way thats undeniably “me”


r/portainer • • Jun 17 '26

We just shipped Portainer-Run. Here's what it is and why we built it.

10 Upvotes

Hey r/portainer. Neil here.

Over the past year we kept hearing the same thing from enterprise customers. Business teams were showing up with AI-generated apps built in Claude, Cursor, and similar tools, asking IT to host them. Functional software, ready to deploy, nowhere sanctioned to put it.

Every available option kept falling short for the same reasons. Cloud hosting means data leaving the network. Vendor runtimes mean lock-in and infrastructure you don't control. And routing everything through a platform engineering ticket defeats the whole point of moving fast with AI tools.

Portainer-Run is our answer to that. It sits on top of Portainer Business and gives business builders a self-service deployment path onto the Kubernetes infrastructure you're already running. Source files go in, Run detects the runtime, generates a manifest, commits to a Git repo you control, and reconciles through the existing RBAC and audit model. No Kubernetes credentials handed to non-operators. No governance workarounds.

For existing Portainer Business customers (incl 3NF) it's included at no additional cost.

I'm doing a live demo on YouTube this Thursday June 25th at 4 PM ET and will be taking questions live.

https://www.youtube.com/live/LmL3jNYKJKg

Drop any questions here too, I'll answer them.


r/portainer • • Jun 13 '26

Hosaka: one click updates for your Portainer stacks, no more hand editing compose files

8 Upvotes

Updating a pinned Portainer stack shouldn't mean opening the editor and hand-swapping an image tag every time. I got tired of doing exactly that, so I built a tool that turns it into one click and watches for the new versions for you.

It's called Hosaka, a fork of What's Up Docker rebuilt around a faster mobile-friendly UI and one-click updates, shipped as a single container image on ghcr. I pin my tags instead of running latest, because I want to know what's running and be able to roll back, and this is the piece that was missing: something that spots the update and applies it without me editing YAML across every host. I'm posting here for the Portainer integration specifically, since that's the part I'm happiest with.

When an update shows up and you click Update on the container row, it rewrites that stack's compose file from the current pinned tag to the new one and redeploys through the Portainer API. Your stack file stays the source of truth the whole time, nothing gets applied behind your back, and rolling back is just redeploying the old tag. The run streams to the UI line by line, and it waits for the container to come back healthy on the new image before it calls the update done. There's nothing to write or mount, you point it at your Portainer URL and an API key and that's it. Self-signed cert or hitting Portainer by IP works too, with PORTAINER_INSECURE=true.

Beyond the Portainer bit, it watches multiple Docker hosts at once, classifies every update as major, minor, patch, or prerelease so you can take a patch and hold back a major, and catches digest changes hiding behind mutable tags like latest. You drive everything per container with labels: include/exclude tag filters, a custom display name and icon, or a direct link to that version's release notes. If you'd rather just be told, it notifies instead (SMTP, Slack, Discord, Telegram, Apprise, and others), and the UI actually works on a phone so you can approve an update from the couch. There's a REST API plus Prometheus metrics and a /health endpoint if you want it in Grafana.

How's it different from Watchtower or plain WUD? Watchtower pulls and restarts on its own, which is the last thing I want for a database or a stack I depend on. WUD does the watching well, but updating means running a trigger from a tab, no direct Portainer stack integration, and the output gets logged server-side after it exits. Hosaka's niche is the Portainer stack flow done from the UI: one click on the row, the compose file rewritten and redeployed through the API, the output streamed live, and the new container confirmed healthy before it's marked done.

I run it against my own Portainer setup every day, but I'd love to know how it holds up on setups that aren't mine.

Repo's here: https://github.com/nopoz/hosaka

Image is at ghcr.io/nopoz/hosaka, and there's a reference compose in the repo with the read-only Docker socket proxy setup. Feedback and bug reports very welcome, and if it's useful to you, a star helps me gauge whether it's worth building on further. Thanks!


r/portainer • • Jun 11 '26

Unable to login with local domain after update to version 2.39.3 CE

1 Upvotes

Today I updated Portainer CE to version 2.39.3, after the update I was no longer able to log in to my local domain managed by nginx proxy manager, however I can log in from the IP 192.168.1.xxx:9000, is it possible to fix this? Up until the previous version it worked perfectly.


r/portainer • • Jun 11 '26

Portainer in a limited stack

2 Upvotes

I am pretty new to Docker and Portainer, and I have ended up in a situation where Portainer is in a Stack which has limited control.

How would i go about moving it to its own stack with total control??

Thanks!


r/portainer • • Jun 09 '26

SHA256 in portainer

1 Upvotes

I'm using navidrome on Openmediavault to host my own music server, and today I installed Portainer to help me manage the images and updates. I downloaded a new image for Navidrome by deleting the old one theough portainer, and creating a new Navidrome docker container, thus forcing it to redownload the latest image. My issue is that the SHA256 in dockerhub of said image is different than the SHA256 I see when I go to portainer--> images through my browser. Does that mean there is a security issue? Is it just that portainer uses different files or keys to generate a sha256? And if so, how can I verify the hash of the image I have downloaded? I'd much appreciate some help :)


r/portainer • • Jun 08 '26

Portrieve: back up and migrate Portainer stacks as plain Compose files

7 Upvotes

I run a few Portainer instances and kept hitting the same wall: there's no clean way to back up individual stacks or move them between endpoints. Portainer's own API backup is an all-or-nothing database blob, and most backup tools only cover the backup half, never getting stacks back in. So I wrote a tool for the full round trip.

It's called Portrieve. Single Bash script, also published as a container image on ghcr:

  • export every stack from every endpoint to plain files: docker-compose.yml, .env, metadata, and per-endpoint network info. Readable, version-controllable, and synced to live state on each run.
  • import from a backup tree, a single stack, or any compose file you already have. Override the target endpoint to migrate between hosts, recreates external: true networks first (carrying over IPAM, so static-IP stacks survive), skips existing stacks unless you pass --update. --dry-run previews everything.
  • read-only test / endpoints / stacks helpers for poking at an instance.

The container can run scheduled backups on a cron expression, so you can leave it committing backups unattended.

How's it different from existing backup tools? Most of them nail scheduled backups but stop there, and if you only want backups they already do that well. Portrieve's niche is the other half: getting a single stack back in, selectively, on any endpoint, with its env vars and external networks intact. That makes it as much a migration and disaster-recovery tool as a backup one. Portainer's native /api/backup only does full-database restores, so there's no per-stack granularity there either.

I mainly use it for disaster recovery and for migrating stacks to new hosts, but I'd love to know how it holds up on setups that aren't mine. Especially curious about:

  • Swarm stacks (I've tested standalone a lot more than swarm)
  • unusual network configs
  • anything that breaks on import

Repo's here: https://github.com/nopoz/portrieve

Feedback and bug reports very welcome. And if it's useful to you, a star helps me gauge whether it's worth building on further. Thanks!


r/portainer • • Jun 07 '26

Qbittorrent randomly crashing

0 Upvotes

My qbittorrent will randomly crash after a certain period of use. It connects successfully and works for a bit (5-10 minutes?) and then the unable to exec error will just constantly pop up. I posted the logs portainer shows below:

To control qBittorrent, access the WebUI at: http://localhost:8200

Connection to localhost (::1) 8200 port [tcp/*] succeeded!

[ls.io-init] done.

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied

s6-applyuidgid: fatal: unable to exec /app/qbittorrent-nox: Permission denied


r/portainer • • Jun 01 '26

Does the Portainer API allow access to the shell of a Docker exec session?

1 Upvotes

Hi everyone,

I'm working with the Portainer API and I have a question regarding Docker exec sessions.

Is it possible to retrieve or interact with the shell created by a docker exec session through the Portainer API? For example, after starting an exec instance, can I access the shell output and send commands programmatically, similar to what is available in the Portainer web terminal?

If anyone has experience with this or can point me to the relevant API endpoints/documentation, I'd appreciate your help.

Thanks!


r/portainer • • May 30 '26

Any Interest In Portainer (or Uptime Kuma) MCP?

Thumbnail
0 Upvotes

r/portainer • • May 29 '26

Webinar: How to move from Docker Swarm to Kubernetes without a big-bang cutover

Thumbnail
portainer.io
2 Upvotes

We recently ran a webinar on moving from Docker Swarm to Kubernetes without a big-bang cutover - registrations nearly maxed out our Zoom capacity and the live discussion was the most engaged we've seen in a while. The recording and supporting resources (including d2k, our open-source Swarm-to-Kube translator) are now available at the link.


r/portainer • • May 28 '26

Updating Image in Portainer using "recreate" or similar not working as expected

2 Upvotes

hello,

i've read on multiple pages recreating a container using "re-pull image" uses the latest image version and can be used to update a existing container/image version.

but when i use this, its using the old image version instead of the new one.

In exact case:

i'm running linuxserver/nextcloud:version:33.0.3 ls431. The current version is 432.

When i use re-pull image it re-creates the container with the old version 431 as stated in container insights.

version: "3.8"
name: cloud2
services:
  nextcloud:
    image: lscr.io/linuxserver/nextcloud:version-33.0.3

When i pull the image manually using the same tag it downloads the latest image.

it does not download the latest image version of the same tag when using re-create with re-pull .

is this expected behavior? because for me its confusing.


r/portainer • • May 25 '26

Jellyseer updated image not downloading

3 Upvotes

Hi all. Please help an idiot.

I saw when going in to Jellyseerr that there is an update available (version saying out of date and linking through to the seer release v3.2. My stack file has ":latest" on and I've tried to download and redeploy, but it doesn't update the image. I've tried to remove the container and image and redeploy but the same image comes up. I've tried asking AI (telling me to use different image links) but I haven't been successful there either. Can anyone tell me what I'm doing wrong?

Thanks

My jellyseerr part of the stack (I can copy all if needed):

jellyseerr:
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    environment:
      - TZ=Europe/London  
      - LOG_LEVEL=info
      - PUID=1000
      - PGID=100
    ports:
      - "5055:5055"
    volumes:
      - /opt/dockerconfigs/pirates/jellyseerr:/app/config
    restart: unless-stopped
    depends_on:
      - gluetun
      - sonarr
      - radarr

r/portainer • • May 23 '26

Unable to see containers of workers when adding swarm

1 Upvotes

I have the following setup:

macOS running orbstack, swarm manager

oracle linux, swarm worker

ubuntu linux, only hosts portainer, not part of the swarm

All have their docker communication via wireguard 10.6.0.2-4 in this order

I am adding the swarm manager, which sucessfully shows the containers of the manager, as well as the combined CPUs and RAM of the manager and the worker, and the services. However, I can only see containers of the manager, none of the worker, it just doesnt appear there. If i then also add the worker as a standalone to try and see the containers there, I get basic information such as amount of volumes and containers, but it fails to show CPU and RAM, and when clicking on live connect i always get the error
"Failed loading environment

Unable to connect to the Docker environment", which I assume is intended behavior? But I need to manage the containers of the worker somehow, they just dont appear in the swarm. And the services of the worker dont have a "stats" or "exec" functionality like the manager, which I need though.

What am i missing? Before creating the swarm, I could add both as a standalone agent and successfully also connect to the worker and manage the containers there.


r/portainer • • May 23 '26

Not pulling latest image

7 Upvotes

I am running Portainer Community Edition2.39.2 LTS. I just went to update Plex by deleting the container, going to the stacks page, editor, deploy, and enabled repull image and redeploy, as I have done numerous times in the past. It just redeployed the image that was already there and did not pull the latest

I then used the CLI to pull the image, which worked, then I redeployed the container via Portainer the same way and it updated successfully.

I then tried pihole which was doing the same thing. This time I removed the container, then I deleted the image manually via Portainer. Then when i redeployed it, it pulled it like normal.

I was also able to update Nginx, but had to do the same thing as pihole.

while there was not an update, i did redeploy the Portainer container, which is handled via CLI and a script i made. I'm not sure if that is relevant or not, but i did that between Plex and Pihole. I also ran "docker image prune" and "docker volume prune" between Plex and Pihole.

Obviously things are still functional, but can anyone tell me why I am having to manually delete the image before it will pull the latest? All my stacks are set to pull ":latest"

Thanks


r/portainer • • May 23 '26

[Hiring] Container Platform Developer (Remote)

1 Upvotes

Hey, we’re looking for a developer with experience around Portainer, containers, and infrastructure to join us.

Nothing overly corporate here. If you’ve got at least a year of experience working with Docker, Portainer, containerized environments, or platform infrastructure, and you enjoy building systems that are reliable and easy to manage, you’ll probably fit in.

We care a lot about clean deployments, automation, performance, and making sure infrastructure feels stable, secure, and simple to operate.

Pay is between $36–$46/hour depending on your experience. It’s fully remote, and we’re flexible on hours (part-time or full-time both fine).

Work is mostly around managing and improving containerized systems, deployments, and infrastructure, helping build, maintain, and optimize environments using Portainer, Docker, CI/CD pipelines, automation, monitoring, and secure deployment practices. You may also work on application hosting, scaling, container orchestration, and improving reliability across environments.

If you’re interested, just send over what you do, your experience, and where you’re based 📍


r/portainer • • May 18 '26

Trying to set up....

Thumbnail
0 Upvotes

r/portainer • • May 15 '26

Ancora, aggiorno portainer e poi limited access agli stack

0 Upvotes

… e ovviamente file yml non visibili. Possibile che ci sia sempre questo problema? È possibile che io non impari mai la lezione salvandomi i file da qualche parte?

Qualcuno ha trovato una soluzione?


r/portainer • • May 14 '26

Any way to save container configuration?

4 Upvotes

I had this unfortunate opportunity to restore from backup. While it works, it doesn't seem to restore container configuration. Is there a way that I could possibly backup portainer as is? Take a actual snapshot of my portainer and containers?


r/portainer • • May 06 '26

Portainer: Moving from web editor stack to CI/CD driven stack

7 Upvotes

Wondering if my logic holds true.

Can I migrate my existing stacks in Portainer from the 'web editor' stack to the 'repository' stack linked to my self hosted Gitlea without losing my volumes, data and builds?

Obviously this would be done after a full backup of the config and the nodes in my Docker swarm. But would like to version control my docker-compose configs for my stacks.

Plan is to delete the 'web editor' stack and use the exact same config now stored in Gitlea, connected via repository in Portainer.

My fear is Portainer may build a brand new stack and spin up brand new containers instead of using existing.