Skip to content

Updating via bot sometimes breaks networking #80

@BackedUpBooty

Description

@BackedUpBooty

First up, I've been using this for a while, and I love it. Really helpful tool, thank you for making it.

I searched for this issue but couldn't find it already reported, let me know if it's already known.

For network separation, I have various containers/stacks which use multiple docker networks, mostly around reverse proxy. I.e. reverse proxy is on network A. The stack, say pocketid, uses network B to communicate between the app and the db etc., but the app itself is on networks A & B so that it can be served by my reverse proxy. Compose file below for reference:

networks:
  A:
    name: A
    ipam:
      config:
        - subnet: 172.xx.0.0/26
  B:
    name: B
    ipam:
      config:
        - subnet: 172.xx.0.0/26

services:
# PocketID
  pocket-id:
    image: ghcr.io/pocket-id/pocket-id:v2
    container_name: pocketid
    restart: unless-stopped
    env_file: ./pocketid/.env
    ports:
      - 1411:1411
    volumes:
      - ./pocketid/app:/app/data
    # Optional healthcheck
    healthcheck:
      test: [ "CMD", "/app/pocket-id", "healthcheck" ]
      interval: 1m30s
      timeout: 5s
      retries: 2
      start_period: 10s
    depends_on:
      - pocketid-db
    networks:
      - B
      - A

  pocketid-db:
    image: postgres:17
    container_name: pocketid-db
    restart: unless-stopped
    env_file: ./pocketid/.env
    healthcheck:
      test:
        ['CMD-SHELL', 'pg_isready -d "$${POSTGRES_DB}" -U $${POSTGRES_USER}']
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - ./pocketid/db:/var/lib/postgresql/data/
    networks:
      - B

Wo when the pocket-id app needs an update, I will use the bot to update it, but then it will only reconnect to network B, and not A. This is not the same behaviour as running an up -d command to recreate it after a new pull, where it will connect to both.

I've experienced this bot behaviour with all other containers which have two networks specified - the container will connect to the first network listed in the array, but not the second.

Logs from the bot below. Not sure if relevant, but when updating it shows that the network config on recreation seems to be looking for networks called pocketid, pocket-id and with id 9befb7c90c4e however these are not existing networks or specified anywhere in the compose file:

2026-02-24 13:43:14 - DEBUG: [UPDATE_SUCCESS] ✅ Update completed successfully for pocketid
2026-02-24 13:43:14 - DEBUG: [DELETE_IMAGE] ✅ Old image deleted successfully
2026-02-24 13:43:14 - DEBUG: [DELETE_IMAGE] Removing old image sha25
2026-02-24 13:43:14 - DEBUG: [DELETE_OLD] ✅ Old container pocketid_old deleted successfully
2026-02-24 13:43:14 - DEBUG: [DELETE_OLD] Removing old container pocketid_old (ID: 9befb)
2026-02-24 13:43:14 - DEBUG: [DELETE_OLD] New container verified and running. Now safe to delete old container pocketid_old
2026-02-24 13:43:14 - DEBUG: [VERIFY_CONTAINER] ✅ Container pocketid is running successfully
2026-02-24 13:43:14 - DEBUG: [VERIFY_CONTAINER] Container status: running
2026-02-24 13:43:14 - DEBUG: [VERIFY_CONTAINER] Attempt 1/5: Reloading container state
2026-02-24 13:43:14 - DEBUG: [VERIFY_CONTAINER] Starting verification of new container pocketid (ID: a6e54)
2026-02-24 13:43:14 - DEBUG: [START_CONTAINER] New container started successfully
2026-02-24 13:43:13 - DEBUG: [START_CONTAINER] Starting new container pocketid (ID: a6e54)
2026-02-24 13:43:13 - DEBUG: [CREATE_CONTAINER] New container created successfully (ID: a6e54)
2026-02-24 13:43:13 - DEBUG: [CREATE_CONTAINER] Creating new container with name: pocketid
2026-02-24 13:43:13 - DEBUG: [CREATE_CONTAINER] Network config: IPv4=None, IPv6=None, MAC=02:42:ac:16:00:09, aliases=['pocketid', 'pocket-id', '9befb7c90c4e']
2026-02-24 13:43:13 - DEBUG: [RENAME_OLD] Successfully renamed to pocketid_old
2026-02-24 13:43:13 - DEBUG: [RENAME_OLD] Renaming pocketid (ID: 9befb) to pocketid_old
2026-02-24 13:43:13 - DEBUG: [STOP_CONTAINER] Container stopped successfully
2026-02-24 13:43:12 - DEBUG: [STOP_CONTAINER] Stopping container pocketid (ID: 9befb)
2026-02-24 13:43:12 - DEBUG: [PULL_IMAGE] Image pulled successfully: sha25
2026-02-24 13:43:08 - DEBUG: [PULL_IMAGE] Starting pull of ghcr.io/pocket-id/pocket-id:v2
2026-02-24 13:43:08 - DEBUG: [UPDATE_START] Old container will be named: pocketid_old
2026-02-24 13:43:08 - DEBUG: [UPDATE_START] Container: pocketid (ID: 9befb)

Any ideas what's going on?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions