by_category:
  cloud_storage:
  - bind_mounts: 1
    complexity: medium
    dependencies: &id065 []
    device: omv800.local
    image: mariadb:10.6
    name: nextcloud-db
    ports: &id066 {}
    volumes: 0
  - bind_mounts: 4
    complexity: high
    dependencies: &id071
    - nextcloud-redis
    - nextcloud-db
    device: omv800.local
    image: nextcloud:latest
    name: nextcloud
    ports: &id072
      80/tcp:
      - :8080
    volumes: 0
  - bind_mounts: 0
    complexity: medium
    dependencies: &id075 []
    device: omv800.local
    image: redis:alpine
    name: nextcloud-redis
    ports: &id076 {}
    volumes: 1
  code_repository:
  - bind_mounts: 1
    complexity: medium
    dependencies: &id067 []
    device: omv800.local
    image: gitea/gitea:latest
    name: gitea
    ports: &id068
      22/tcp:
      - :222
      3000/tcp:
      - :3001
    volumes: 0
  database:
  - bind_mounts: 0
    complexity: medium
    dependencies: &id091 []
    device: surface
    image: redis
    name: appflowy-cloud-redis-1
    ports: &id092 {}
    volumes: 1
  - bind_mounts: 1
    complexity: medium
    dependencies: &id027 []
    device: jonathan-2518f5u
    image: mariadb:latest
    name: mariadb
    ports: &id028
      3306/tcp:
      - :3306
    volumes: 0
  - bind_mounts: 1
    complexity: medium
    dependencies: &id061 []
    device: omv800.local
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    name: immich_postgres
    ports: &id062 {}
    volumes: 0
  - bind_mounts: 1
    complexity: medium
    dependencies: &id069 []
    device: omv800.local
    image: postgres:16
    name: joplin-db-1
    ports: &id070
      5432/tcp:
      - :5432
    volumes: 0
  development:
  - bind_mounts: 0
    complexity: low
    dependencies: &id089 []
    device: surface
    image: minio/minio
    name: appflowy-cloud-minio-1
    ports: &id090 {}
    volumes: 1
  - bind_mounts: 0
    complexity: low
    dependencies: &id093
    - postgres
    device: surface
    image: appflowyinc/gotrue:latest
    name: appflowy-cloud-gotrue-1
    ports: &id094 {}
    volumes: 0
  - bind_mounts: 0
    complexity: low
    dependencies: &id095
    - appflowy_cloud
    - gotrue
    device: surface
    image: appflowyinc/admin_frontend:latest
    name: appflowy-cloud-admin_frontend-1
    ports: &id096 {}
    volumes: 0
  - bind_mounts: 0
    complexity: low
    dependencies: &id097 []
    device: surface
    image: pgvector/pgvector:pg16
    name: appflowy-cloud-postgres-1
    ports: &id098 {}
    volumes: 1
  - bind_mounts: 0
    complexity: low
    dependencies: &id101
    - appflowy_cloud
    device: surface
    image: appflowyinc/appflowy_web:latest
    name: appflowy-cloud-appflowy_web-1
    ports: &id102 {}
    volumes: 0
  - bind_mounts: 0
    complexity: low
    dependencies: &id103
    - postgres
    device: surface
    image: appflowyinc/appflowy_worker:latest
    name: appflowy-cloud-appflowy_worker-1
    ports: &id104 {}
    volumes: 0
  - bind_mounts: 0
    complexity: low
    dependencies: &id105
    - gotrue
    device: surface
    image: appflowyinc/appflowy_cloud:latest
    name: appflowy-cloud-appflowy_cloud-1
    ports: &id106 {}
    volumes: 0
  - bind_mounts: 3
    complexity: low
    dependencies: &id007 []
    device: audrey
    image: lscr.io/linuxserver/code-server:latest
    name: code-server
    ports: &id008
      8443/tcp:
      - :8443
    volumes: 0
  dns_dhcp:
  - bind_mounts: 1
    complexity: low
    dependencies: &id057 []
    device: omv800.local
    image: mvance/unbound:latest
    name: unbound
    ports: &id058 {}
    volumes: 0
  - bind_mounts: 2
    complexity: low
    dependencies: &id083 []
    device: omv800.local
    image: adguard/adguardhome:latest
    name: adguardhome
    ports: &id084 {}
    volumes: 0
  document_management:
  - bind_mounts: 0
    complexity: medium
    dependencies: &id015 []
    device: jonathan-2518f5u
    image: clusterzx/paperless-ai:latest
    name: paperless-ai
    ports: &id016
      3000/tcp:
      - :3000
    volumes: 1
  - bind_mounts: 0
    complexity: medium
    dependencies: &id037 []
    device: jonathan-2518f5u
    image: redis:6
    name: paperless-ngx_broker_1
    ports: &id038 {}
    volumes: 1
  - bind_mounts: 4
    complexity: medium
    dependencies: &id039 []
    device: jonathan-2518f5u
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    name: paperless-ngx_webserver_1
    ports: &id040
      8000/tcp:
      - :8001
    volumes: 0
  - bind_mounts: 0
    complexity: medium
    dependencies: &id081 []
    device: omv800.local
    image: redis:6.0
    name: paperless-broker-1
    ports: &id082 {}
    volumes: 1
  - bind_mounts: 0
    complexity: medium
    dependencies: &id085 []
    device: omv800.local
    image: postgres:13
    name: paperless-db-1
    ports: &id086 {}
    volumes: 1
  home_automation:
  - bind_mounts: 1
    complexity: medium
    dependencies: &id035 []
    device: jonathan-2518f5u
    image: ghcr.io/home-assistant/home-assistant:stable
    name: homeassistant
    ports: &id036
      8123/tcp:
      - :8123
    volumes: 0
  iot_management:
  - bind_mounts: 1
    complexity: low
    dependencies: &id021 []
    device: jonathan-2518f5u
    image: zwavejs/zwave-js-ui:latest
    name: zwave-js-ui
    ports: &id022
      3000/tcp:
      - :3002
      8091/tcp:
      - :8091
    volumes: 0
  - bind_mounts: 2
    complexity: low
    dependencies: &id031 []
    device: jonathan-2518f5u
    image: ghcr.io/esphome/esphome:latest
    name: esphome
    ports: &id032
      6052/tcp:
      - :6052
    volumes: 0
  media_streaming:
  - bind_mounts: 2
    complexity: high
    dependencies: &id073 []
    device: omv800.local
    image: jellyfin/jellyfin:latest
    name: jellyfin
    ports: &id074
      8096/tcp:
      - :8096
    volumes: 2
  messaging_broker:
  - bind_mounts: 3
    complexity: low
    dependencies: &id017 []
    device: jonathan-2518f5u
    image: eclipse-mosquitto:latest
    name: mosquitto
    ports: &id018
      1883/tcp:
      - :1883
    volumes: 0
  monitoring:
  - bind_mounts: 1
    complexity: low
    dependencies: &id051 []
    device: lenovo420
    image: containrrr/watchtower
    name: watchtower-watchtower-1
    ports: &id052 {}
    volumes: 0
  - bind_mounts: 2
    complexity: low
    dependencies: &id053 []
    device: lenovo420
    image: portainer/agent:latest
    name: portainer_agent
    ports: &id054
      9001/tcp:
      - :9001
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id013 []
    device: jonathan-2518f5u
    image: containrrr/watchtower
    name: watchtower-watchtower-1
    ports: &id014 {}
    volumes: 0
  - bind_mounts: 2
    complexity: low
    dependencies: &id033 []
    device: jonathan-2518f5u
    image: portainer/portainer-ce:latest
    name: portainer
    ports: &id034
      9000/tcp:
      - :9000
    volumes: 0
  - bind_mounts: 2
    complexity: low
    dependencies: &id009 []
    device: fedora
    image: portainer/agent:latest
    name: portainer_agent
    ports: &id010
      9001/tcp:
      - :9001
    volumes: 0
  - bind_mounts: 2
    complexity: low
    dependencies: &id001 []
    device: audrey
    image: portainer/agent:latest
    name: portainer_agent
    ports: &id002
      9001/tcp:
      - :9001
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id005 []
    device: audrey
    image: louislam/uptime-kuma:latest
    name: uptime-kuma
    ports: &id006
      3001/tcp:
      - :3001
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id055 []
    device: omv800.local
    image: containrrr/watchtower
    name: watchtower-watchtower-1
    ports: &id056 {}
    volumes: 0
  - bind_mounts: 3
    complexity: low
    dependencies: &id059 []
    device: omv800.local
    image: portainer/agent:2.27.9
    name: portainer_agent
    ports: &id060
      9001/tcp:
      - :9001
    volumes: 0
  other:
  - bind_mounts: 0
    complexity: low
    dependencies: &id041 []
    device: lenovo420
    image: iib0011/omni-tools:latest
    name: omni-tools
    ports: &id042
      80/tcp:
      - :9080
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id043 []
    device: lenovo420
    image: linuxserver/duckdns:latest
    name: duckdns
    ports: &id044 {}
    volumes: 0
  - bind_mounts: 0
    complexity: low
    dependencies: &id045 []
    device: lenovo420
    image: dalehumby/openwakeword-rhasspy
    name: openwakeword
    ports: &id046 {}
    volumes: 0
  - bind_mounts: 0
    complexity: medium
    dependencies: &id047 []
    device: lenovo420
    image: filebrowser/filebrowser:latest
    name: sad_moser
    ports: &id048
      80/tcp:
      - ':'
    volumes: 4
  - bind_mounts: 0
    complexity: low
    dependencies: &id049 []
    device: lenovo420
    image: rhasspy/wyoming-whisper
    name: wyoming-whisper
    ports: &id050
      10300/tcp:
      - :10300
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id011 []
    device: jonathan-2518f5u
    image: ghcr.io/gethomepage/homepage:v0.8.12
    name: e09917f80111_opt_homepage_1
    ports: &id012
      3000/tcp:
      - :8080
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id019 []
    device: jonathan-2518f5u
    image: vaultwarden/server:latest
    name: vaultwarden
    ports: &id020
      3012/tcp:
      - :3012
      80/tcp:
      - :8088
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id023 []
    device: jonathan-2518f5u
    image: homewayio/homeway:latest
    name: homeway
    ports: &id024
      443/tcp:
      - :443
      8888/tcp:
      - :8888
    volumes: 0
  - bind_mounts: 1
    complexity: medium
    dependencies: &id025 []
    device: jonathan-2518f5u
    image: ghcr.io/music-assistant/server:latest
    name: music-assistant
    ports: &id026
      8095/tcp:
      - :8095
    volumes: 1
  - bind_mounts: 0
    complexity: low
    dependencies: &id029 []
    device: jonathan-2518f5u
    image: n8nio/n8n:latest
    name: n8n
    ports: &id030
      5678/tcp:
      - :5678
    volumes: 0
  - bind_mounts: 1
    complexity: low
    dependencies: &id003 []
    device: audrey
    image: amir20/dozzle:latest
    name: dozzle
    ports: &id004
      8080/tcp:
      - :9999
    volumes: 0
  - bind_mounts: 0
    complexity: low
    dependencies: &id077
    - db
    device: omv800.local
    image: joplin/server:latest
    name: joplin-app-1
    ports: &id078
      22300/tcp:
      - :22300
    volumes: 0
  - bind_mounts: 1
    complexity: medium
    dependencies: &id079 []
    device: omv800.local
    image: vikunja/vikunja:latest
    name: joplin-vikunja-1
    ports: &id080
      3456/tcp:
      - :3456
    volumes: 1
  photo_management:
  - bind_mounts: 0
    complexity: medium
    dependencies: &id063 []
    device: omv800.local
    image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
    name: immich_redis
    ports: &id064 {}
    volumes: 1
  - bind_mounts: 0
    complexity: medium
    dependencies: &id087 []
    device: omv800.local
    image: ghcr.io/immich-app/immich-machine-learning:release
    name: immich_machine_learning
    ports: &id088 {}
    volumes: 1
  reverse_proxy:
  - bind_mounts: 3
    complexity: low
    dependencies: &id099 []
    device: surface
    image: nginx
    name: appflowy-cloud-nginx-1
    ports: &id100
      443/tcp:
      - :8443
      80/tcp:
      - :8080
    volumes: 0
devices:
  audrey:
  - bind_mounts:
    - destination: /var/lib/docker/volumes
      read_write: true
      source: /var/lib/docker/volumes
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    category: monitoring
    created: '2025-08-02T23:16:48.6427222Z'
    depends_on: *id001
    device: audrey
    environment:
    - PATH=/app:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: 5de45132bc0c
    image: portainer/agent:latest
    labels:
      io.portainer.agent: 'true'
    migration_complexity: low
    name: portainer_agent
    network_mode: bridge
    networks:
    - bridge
    ports: *id002
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/run/docker.sock
      read_write: false
      source: /var/run/docker.sock
    category: other
    created: '2025-06-09T16:21:36.417052825Z'
    depends_on: *id003
    device: audrey
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: 850c5fba4e69
    image: amir20/dozzle:latest
    labels:
      com.docker.compose.config-hash: b35819dfe1271576fc77a0ae8ff0e40ca90e57a0df285a35f6b69d9b6ae28689
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:2156500e81c54ee3f2291c186611f5e25fcc9e9f856f9f03299c3d232e70d3c3
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: monitoring
      com.docker.compose.project.config_files: /home/jon/homelab/monitoring/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/homelab/monitoring
      com.docker.compose.service: dozzle
      com.docker.compose.version: 2.33.0
      org.opencontainers.image.created: '2025-06-05T19:22:48.047Z'
      org.opencontainers.image.description: Realtime log viewer for containers.  Supports
        Docker, Swarm and K8s.
      org.opencontainers.image.licenses: MIT
      org.opencontainers.image.revision: 7257e35f1bae6f5e5b75a2f77efddae558be2475
      org.opencontainers.image.source: https://github.com/amir20/dozzle
      org.opencontainers.image.title: dozzle
      org.opencontainers.image.url: https://github.com/amir20/dozzle
      org.opencontainers.image.version: v8.12.21
    migration_complexity: low
    name: dozzle
    network_mode: monitoring-net
    networks:
    - monitoring-net
    ports: *id004
    resource_limits:
      cpu_shares: 0
      memory: 268435456
      nano_cpus: 500000000
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /app/data
      read_write: true
      source: /home/jon/homelab/monitoring/uptime-kuma
    category: monitoring
    created: '2025-06-09T16:21:36.413462294Z'
    depends_on: *id005
    device: audrey
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NODE_VERSION=18.20.3
    - YARN_VERSION=1.22.19
    - UPTIME_KUMA_IS_CONTAINER=1
    health_check:
      interval: 60
      retries: 5
      test:
      - CMD-SHELL
      - extra/healthcheck
      timeout: 30
    id: 6fd14bae2376
    image: louislam/uptime-kuma:latest
    labels:
      com.docker.compose.config-hash: ab8d384b1e6ba6297f6340399a907a25f7ffd3359413fae262b52383f9959a55
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:542ef8cfcae209bef49dfe85d9e8aa92fbbd5fc83187fe6b695f08a661c691be
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: monitoring
      com.docker.compose.project.config_files: /home/jon/homelab/monitoring/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/homelab/monitoring
      com.docker.compose.service: uptime-kuma
      com.docker.compose.version: 2.33.0
    migration_complexity: low
    name: uptime-kuma
    network_mode: monitoring-net
    networks:
    - monitoring-net
    ports: *id006
    resource_limits:
      cpu_shares: 0
      memory: 536870912
      nano_cpus: 1000000000
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /config/workspace
      read_write: true
      source: /home/jon/homelab/monitoring/projects
    - destination: /var/run/docker.sock
      read_write: false
      source: /var/run/docker.sock
    - destination: /config
      read_write: true
      source: /home/jon/homelab/monitoring/code-server/config
    category: development
    created: '2025-06-09T16:21:36.411977994Z'
    depends_on: *id007
    device: audrey
    environment:
    - PGID=1000
    - TZ=America/New_York
    - PASSWORD=homelab123
    - SUDO_PASSWORD=homelab123
    - PUID=1000
    - PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - HOME=/config
    - LANGUAGE=en_US.UTF-8
    - LANG=en_US.UTF-8
    - TERM=xterm
    - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
    - S6_VERBOSITY=1
    - S6_STAGE2_HOOK=/docker-mods
    - VIRTUAL_ENV=/lsiopy
    - LSIO_FIRST_PARTY=true
    health_check: null
    id: cc6d5deba429
    image: lscr.io/linuxserver/code-server:latest
    labels:
      build_version: Linuxserver.io version:- 4.100.3-ls279 Build-date:- 2025-06-07T20:23:42+00:00
      com.docker.compose.config-hash: 2b1259d2fbda63733d94abcbb13b1d74114656d0c3ff2142f688016c664ca5d2
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:f5883d6d765bd5a7ac36bf0baff3e8a9fadc497e15cdf7716dad34e8e3d3e9a3
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: monitoring
      com.docker.compose.project.config_files: /home/jon/homelab/monitoring/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/homelab/monitoring
      com.docker.compose.service: code-server
      com.docker.compose.version: 2.33.0
      maintainer: aptalca
      org.opencontainers.image.authors: linuxserver.io
      org.opencontainers.image.created: '2025-06-07T20:23:42+00:00'
      org.opencontainers.image.description: '[Code-server](https://coder.com) is VS
        Code running on a remote server, accessible through the browser.  - Code on
        your Chromebook, tablet, and laptop with a consistent dev environment.  -
        If you have a Windows or Mac workstation, more easily develop for Linux.  -
        Take advantage of large cloud servers to speed up tests, compilations, downloads,
        and more.  - Preserve battery life when you''re on the go.  - All intensive
        computation runs on your server.  - You''re no longer running excess instances
        of Chrome.  '
      org.opencontainers.image.documentation: https://docs.linuxserver.io/images/docker-code-server
      org.opencontainers.image.licenses: GPL-3.0-only
      org.opencontainers.image.ref.name: 87f961f038b6213392fa7d06116c797851d60684
      org.opencontainers.image.revision: 87f961f038b6213392fa7d06116c797851d60684
      org.opencontainers.image.source: https://github.com/linuxserver/docker-code-server
      org.opencontainers.image.title: Code-server
      org.opencontainers.image.url: https://github.com/linuxserver/docker-code-server/packages
      org.opencontainers.image.vendor: linuxserver.io
      org.opencontainers.image.version: 4.100.3-ls279
    migration_complexity: low
    name: code-server
    network_mode: monitoring-net
    networks:
    - monitoring-net
    ports: *id008
    resource_limits:
      cpu_shares: 0
      memory: 1073741824
      nano_cpus: 1000000000
    restart_policy: unless-stopped
    state: running
    volumes: []
  fedora:
  - bind_mounts:
    - destination: /var/lib/docker/volumes
      read_write: true
      source: /var/lib/docker/volumes
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    category: monitoring
    created: '2025-08-02T23:23:33.443766597Z'
    depends_on: *id009
    device: fedora
    environment:
    - PATH=/app:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: 2fdbbc5a99d2
    image: portainer/agent:latest
    labels:
      io.portainer.agent: 'true'
    migration_complexity: low
    name: portainer_agent
    network_mode: bridge
    networks:
    - bridge
    ports: *id010
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: restarting
    volumes: []
  jonathan-2518f5u:
  - bind_mounts:
    - destination: /app/config
      read_write: true
      source: /opt/config
    category: other
    created: '2025-04-11T13:42:26.498978188Z'
    depends_on: *id011
    device: jonathan-2518f5u
    environment:
    - HOMEPAGE_ALLOWED_HOSTS=192.168.50.181
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NODE_VERSION=18.20.2
    - YARN_VERSION=1.22.19
    - NODE_ENV=production
    - PORT=3000
    health_check:
      interval: 10
      retries: 0
      test:
      - CMD-SHELL
      - wget --no-verbose --tries=1 --spider --no-check-certificate http://localhost:$PORT/api/healthcheck
        || exit 1
      timeout: 3
    id: eba6e81e7aa6
    image: ghcr.io/gethomepage/homepage:v0.8.12
    labels:
      com.docker.compose.config-hash: 9ce231638fa67e39ff63074fb7d4d2d1ad036ea000dad77fc02bd42ee1982a9d
      com.docker.compose.container-number: '1'
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: opt
      com.docker.compose.project.config_files: docker-compose.yaml
      com.docker.compose.project.working_dir: /opt
      com.docker.compose.service: homepage
      com.docker.compose.version: 1.29.2
      org.opencontainers.image.created: '2024-04-17T08:59:23.933Z'
      org.opencontainers.image.description: A highly customizable homepage (or startpage
        / application dashboard) with Docker and service API integrations.
      org.opencontainers.image.documentation: https://github.com/gethomepage/homepage/wiki
      org.opencontainers.image.licenses: GPL-3.0
      org.opencontainers.image.revision: 12ec1cfdcb6bd2ee94ecbb74304bae49cd744579
      org.opencontainers.image.source: https://github.com/gethomepage/homepage
      org.opencontainers.image.title: homepage
      org.opencontainers.image.url: https://github.com/gethomepage/homepage
      org.opencontainers.image.version: v0.8.12
    migration_complexity: low
    name: e09917f80111_opt_homepage_1
    network_mode: opt_default
    networks: []
    ports: *id012
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    category: monitoring
    created: '2025-04-11T13:56:31.941688472Z'
    depends_on: *id013
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check:
      interval: 0
      retries: 0
      test:
      - CMD
      - /watchtower
      - --health-check
      timeout: 0
    id: bd2e06d2e91a
    image: containrrr/watchtower
    labels:
      com.centurylinklabs.watchtower: 'true'
      com.docker.compose.config-hash: fd27bff924d40e21af0f71bc0f9ace7cc3cab9df24be8891eb8fbe94f5270c43
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:e7dd50d07b86c380dd53caeb7778da052d1a8fc2c606644a419afa35e9f5691e
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: watchtower
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/2
      com.docker.compose.service: watchtower
      com.docker.compose.version: ''
    migration_complexity: low
    name: watchtower-watchtower-1
    network_mode: watchtower_default
    networks:
    - watchtower_default
    ports: *id014
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts: []
    category: document_management
    created: '2025-06-23T02:11:54.246385218Z'
    depends_on: *id015
    device: jonathan-2518f5u
    environment:
    - PUID=1000
    - PGID=1000
    - PAPERLESS_AI_PORT=3000
    - PATH=/app/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NODE_VERSION=22.16.0
    - YARN_VERSION=1.22.22
    - NODE_ENV=production
    health_check:
      interval: 30
      retries: 3
      test:
      - CMD-SHELL
      - curl -f http://localhost:${PAPERLESS_AI_PORT:-3000}/health || exit 1
      timeout: 30
    id: 4e07d7387bbb
    image: clusterzx/paperless-ai:latest
    labels:
      com.docker.compose.config-hash: 75a6f41900c24484f88f2594e3c6e39fbd2f9f9614b6a000f73248c6efc1555d
      com.docker.compose.container-number: '1'
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: paperless-ai
      com.docker.compose.project.config_files: docker-compose.yml
      com.docker.compose.project.working_dir: /home/jonathan/paperless-ai
      com.docker.compose.service: paperless-ai
      com.docker.compose.version: 1.29.2
      org.opencontainers.image.created: '2025-06-22T17:49:44.326Z'
      org.opencontainers.image.description: An automated document analyzer for Paperless-ngx
        using OpenAI API, Ollama, Deepseek-r1, Azure and all OpenAI API compatible
        Services to automatically analyze and tag your documents.
      org.opencontainers.image.licenses: MIT
      org.opencontainers.image.revision: 9359a1d59505a4a746729cc904ab345aef6f8f5d
      org.opencontainers.image.source: https://github.com/clusterzx/paperless-ai
      org.opencontainers.image.title: paperless-ai
      org.opencontainers.image.url: https://github.com/clusterzx/paperless-ai
      org.opencontainers.image.version: 3.0.7
    migration_complexity: medium
    name: paperless-ai
    network_mode: bridge
    networks:
    - bridge
    ports: *id016
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /app/data
      name: paperless-ai_paperless-ai_data
      read_write: true
      source: /var/lib/docker/volumes/paperless-ai_paperless-ai_data/_data
  - bind_mounts:
    - destination: /mosquitto/config
      read_write: true
      source: /home/jonathan/mosquitto/config
    - destination: /mosquitto/data
      read_write: true
      source: /home/jonathan/mosquitto/data
    - destination: /mosquitto/log
      read_write: true
      source: /home/jonathan/mosquitto/log
    category: messaging_broker
    created: '2025-07-16T02:00:44.532258891Z'
    depends_on: *id017
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - VERSION=2.0.22
    - DOWNLOAD_SHA256=2f752589ef7db40260b633fbdb536e9a04b446a315138d64a7ff3c14e2de6b68
    - GPG_KEYS=A0D6EEA1DCAE49A635A3B2F0779B22DFB3E717B7
    - LWS_VERSION=4.2.1
    - LWS_SHA256=842da21f73ccba2be59e680de10a8cce7928313048750eb6ad73b6fa50763c51
    health_check: null
    id: 38ef398835e2
    image: eclipse-mosquitto:latest
    labels:
      description: Eclipse Mosquitto MQTT Broker
      maintainer: Roger Light <roger@atchoo.org>
    migration_complexity: low
    name: mosquitto
    network_mode: bridge
    networks:
    - bridge
    ports: *id018
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes: []
  - bind_mounts:
    - destination: /data
      read_write: true
      source: /home/jonathan/vaultwarden/data
    category: other
    created: '2025-08-03T21:58:58.97105118Z'
    depends_on: *id019
    device: jonathan-2518f5u
    environment:
    - WEBSOCKET_ENABLED=true
    - WEBSOCKET_PORT=80
    - DOMAIN=https://vaultwarden.pressmess.duckdns.org
    - WEB_VAULT_ENABLED=true
    - ROCKET_PROFILE=release
    - ROCKET_ADDRESS=0.0.0.0
    - ROCKET_PORT=80
    - IP_HEADER=X-Real-IP
    - TRUSTED_PROXIES=192.168.50.0/24
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - DEBIAN_FRONTEND=noninteractive
    health_check:
      interval: 60
      retries: 0
      test:
      - CMD
      - /healthcheck.sh
      timeout: 10
    id: ef074c4fe727
    image: vaultwarden/server:latest
    labels:
      com.docker.compose.config-hash: e0b2468f0a0f37fec8cc4640fd91080d603d05266026b91020e8f88c5e8a2473
      com.docker.compose.container-number: '1'
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: jonathan
      com.docker.compose.project.config_files: vaultwarden-docker-compose.yml
      com.docker.compose.project.working_dir: /home/jonathan
      com.docker.compose.service: vaultwarden
      com.docker.compose.version: 1.29.2
      org.opencontainers.image.created: '2025-07-30T08:46:45+00:00'
      org.opencontainers.image.description: Unofficial Bitwarden compatible server
        written in Rust - 1.34.3
      org.opencontainers.image.documentation: https://github.com/dani-garcia/vaultwarden/wiki
      org.opencontainers.image.licenses: AGPL-3.0-only
      org.opencontainers.image.revision: 5d84f17600e179280e44c391b92ee9eecc2b7cdc
      org.opencontainers.image.source: https://github.com/dani-garcia/vaultwarden
      org.opencontainers.image.url: https://github.com/dani-garcia/vaultwarden
      org.opencontainers.image.version: 1.34.3
    migration_complexity: low
    name: vaultwarden
    network_mode: jonathan_default
    networks:
    - jonathan_default
    ports: *id020
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /usr/src/app/store
      read_write: true
      source: /home/jonathan/zwave-js-ui-store
    category: iot_management
    created: '2025-08-08T02:02:28.329988068Z'
    depends_on: *id021
    device: jonathan-2518f5u
    environment:
    - TZ=America/New_York
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - TAG_NAME=
    - NODE_ENV=production
    health_check: null
    id: b093901a092d
    image: zwavejs/zwave-js-ui:latest
    labels:
      maintainer: robertsLando
      org.opencontainers.image.authors: Daniel Lando <daniel.sorridi@gmail.com>
      org.opencontainers.image.created: '2025-08-07T14:57:51.294Z'
      org.opencontainers.image.description: Full featured Z-Wave Control Panel UI
        and MQTT gateway. Built using Nodejs, and Vue/Vuetify
      org.opencontainers.image.documentation: https://zwave-js.github.io/zwave-js-ui
      org.opencontainers.image.licenses: MIT
      org.opencontainers.image.revision: c235c6ceac312e6e6d1edc6641dd749ae3717ad6
      org.opencontainers.image.source: https://github.com/zwave-js/zwave-js-ui
      org.opencontainers.image.title: zwave-js-ui
      org.opencontainers.image.url: https://github.com/zwave-js/zwave-js-ui
      org.opencontainers.image.vendor: zwave-js
      org.opencontainers.image.version: 11.1.0
    migration_complexity: low
    name: zwave-js-ui
    network_mode: bridge
    networks:
    - bridge
    - homeassistant_default
    ports: *id022
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /data
      read_write: true
      source: /home/jonathan/homeway/config
    category: other
    created: '2025-08-11T02:03:11.908350308Z'
    depends_on: *id023
    device: jonathan-2518f5u
    environment:
    - HOME_ASSISTANT_IP= 192.168.50.181
    - HOME_ASSISTANT_ACCESS_TOKEN= eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI0NjQyNmFiOTBhZmU0ZjBlYjIyMzI2ZjFhZWQxZGFlNSIsImlhdCI6MTc0NjM2ODUzNywiZXhwIjoyMDYxNzI4NTM3fQ.ssfLg_3OZSOuRmXhSNqNyz8TRgIVzZxQI9ym4ZSTeqU
    - TZ=America/New_York
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - DATA_DIR=/data/
    - USER=root
    - REPO_DIR=/root/homeway
    - VENV_DIR=/root/homeway-env
    health_check: null
    id: b1ce1002f957
    image: homewayio/homeway:latest
    labels:
      com.docker.compose.config-hash: 478214fcd7089cfcec9e607802ed1eb432908fd9c6cfbe45a32fa2e3751822ad
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:3ee95cd2089cc3f1f3f9ac898697b27c345c836bdb71cd39d38b3fdf664af720
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: homeassistant
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/1
      com.docker.compose.service: homeway
      com.docker.compose.version: ''
      org.opencontainers.image.created: '2025-08-10T22:15:09.823Z'
      org.opencontainers.image.description: "Empowering the Home Assistant community\
        \ with secure and free remote access, ChatGPT powered AI, Google & Alexa support,\
        \ and more! \U0001F680"
      org.opencontainers.image.licenses: AGPL-3.0
      org.opencontainers.image.revision: b125511e2c0604f55757a6e0f9cde80fbb66896f
      org.opencontainers.image.source: https://github.com/homewayio/AddOn
      org.opencontainers.image.title: AddOn
      org.opencontainers.image.url: https://github.com/homewayio/AddOn
      org.opencontainers.image.version: 2.2.11
    migration_complexity: low
    name: homeway
    network_mode: host
    networks:
    - host
    ports: *id024
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /config
      read_write: true
      source: /home/jonathan/music_assistant_config
    category: other
    created: '2025-08-11T02:03:12.160449695Z'
    depends_on: *id025
    device: jonathan-2518f5u
    environment:
    - PATH=/app/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
    - PYTHON_VERSION=3.13.6
    - PYTHON_SHA256=17ba5508819d8736a14fbfc47d36e184946a877851b2e9c4b6c43acb44a3b104
    - LD_PRELOAD=/usr/lib/libjemalloc.so.2
    - VIRTUAL_ENV=/app/venv
    health_check: null
    id: a1e02ce375b5
    image: ghcr.io/music-assistant/server:latest
    labels:
      io.hass.description: Music Assistant Server
      io.hass.name: Music Assistant Server
      io.hass.platform: linux/amd64
      io.hass.type: addon
      io.hass.version: 2.4.4
      org.opencontainers.image.authors: The Music Assistant Team
      org.opencontainers.image.description: Music Assistant is a free, opensource
        Media library manager that connects to your streaming services and a wide
        range of connected speakers. The server is the beating heart, the core of
        Music Assistant and must run on an always-on device like a Raspberry Pi, a
        NAS or an Intel NUC or alike.
      org.opencontainers.image.documentation: https://music-assistant.io
      org.opencontainers.image.licenses: Apache License 2.0
      org.opencontainers.image.source: https://github.com/music-assistant/server
      org.opencontainers.image.title: Music Assistant Server
    migration_complexity: medium
    name: music-assistant
    network_mode: homeassistant_default
    networks:
    - homeassistant_default
    ports: *id026
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /data
      name: fb2f38f8fe39ef8c95a4760e037fd74ccee53e79e4e1f8844d447b592ba407ac
      read_write: true
      source: /var/lib/docker/volumes/fb2f38f8fe39ef8c95a4760e037fd74ccee53e79e4e1f8844d447b592ba407ac/_data
  - bind_mounts:
    - destination: /var/lib/mysql
      read_write: true
      source: /data/compose/5/mariadb-data
    category: database
    created: '2025-08-13T02:01:55.888906181Z'
    depends_on: *id027
    device: jonathan-2518f5u
    environment:
    - MYSQL_USER=homeassistant
    - MYSQL_PASSWORD=your_secure_password
    - MYSQL_ROOT_PASSWORD=your_secure_root_password
    - MYSQL_DATABASE=homeassistant
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - GOSU_VERSION=1.17
    - LANG=C.UTF-8
    - MARIADB_VERSION=1:12.0.2+maria~ubu2404
    health_check: null
    id: d4dd1fc46133
    image: mariadb:latest
    labels:
      com.docker.compose.config-hash: 67c7f05d5d4cacef80ae124580b15c1681e030f960d0031daaeb1d33eb68dad6
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:9f3d79eba61eb2baf4b8e9f31ebe28eca086a4051ed90378e5e4a09d3252c139
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: mariadb
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/5
      com.docker.compose.replace: 1e4a582d3cb985dedd663d261302838fabf97d0acd1eb6ecf9d0dbf08d8b0fdc
      com.docker.compose.service: mariadb
      com.docker.compose.version: ''
      org.opencontainers.image.authors: MariaDB Community
      org.opencontainers.image.base.name: docker.io/library/ubuntu:noble
      org.opencontainers.image.description: MariaDB Database for relational SQL
      org.opencontainers.image.documentation: https://hub.docker.com/_/mariadb/
      org.opencontainers.image.licenses: GPL-2.0
      org.opencontainers.image.ref.name: ubuntu
      org.opencontainers.image.source: https://github.com/MariaDB/mariadb-docker
      org.opencontainers.image.title: MariaDB Database
      org.opencontainers.image.url: https://github.com/MariaDB/mariadb-docker
      org.opencontainers.image.vendor: MariaDB Community
      org.opencontainers.image.version: 12.0.2
    migration_complexity: medium
    name: mariadb
    network_mode: mariadb_homeassistant_network
    networks:
    - homeassistant_default
    ports: *id028
    resource_limits:
      cpu_shares: 0
      memory: 1073741824
      nano_cpus: 500000000
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts: []
    category: other
    created: '2025-08-21T02:02:29.238511426Z'
    depends_on: *id029
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NODE_VERSION=22.17.0
    - YARN_VERSION=1.22.22
    - NODE_ICU_DATA=/usr/local/lib/node_modules/full-icu
    - NODE_ENV=production
    - N8N_RELEASE_TYPE=stable
    - SHELL=/bin/sh
    health_check: null
    id: 3c74229ac0b5
    image: n8nio/n8n:latest
    labels:
      org.opencontainers.image.description: Workflow Automation Tool
      org.opencontainers.image.source: https://github.com/n8n-io/n8n
      org.opencontainers.image.title: n8n
      org.opencontainers.image.url: https://n8n.io
      org.opencontainers.image.version: 1.107.4
    migration_complexity: low
    name: n8n
    network_mode: bridge
    networks:
    - bridge
    ports: *id030
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes: []
  - bind_mounts:
    - destination: /config
      read_write: true
      source: /data/compose/1/esphome
    - destination: /etc/localtime
      read_write: false
      source: /etc/localtime
    category: iot_management
    created: '2025-08-21T02:02:29.612818192Z'
    depends_on: *id031
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - LANG=C.UTF-8
    - GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
    - PYTHON_VERSION=3.12.10
    - PYTHON_SHA256=07ab697474595e06f06647417d3c7fa97ded07afc1a7e4454c5639919b46eaea
    - UV_SYSTEM_PYTHON=true
    - PIP_ROOT_USER_ACTION=ignore
    - PIP_DISABLE_PIP_VERSION_CHECK=1
    health_check:
      interval: 30
      retries: 0
      test:
      - CMD-SHELL
      - curl --fail http://localhost:6052/version -A "HealthCheck" || exit 1
      timeout: 30
    id: db8cf8fb68dd
    image: ghcr.io/esphome/esphome:latest
    labels:
      com.docker.compose.config-hash: 336cf3868a4f31912da9d14a14e616699a8bf8ec771c5c571311e7571a34305f
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:319ce7b2c4ed44fac504c6cde07894af4b172f01adc7e97fd9edb2bf8ba407ba
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: homeassistant
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/1
      com.docker.compose.replace: f93f9dd7e126eb53c9b8bff7abe2ffc8737bbf6100c24bba9c39a5016665d160
      com.docker.compose.service: esphome
      com.docker.compose.version: ''
      org.opencontainers.image.authors: The ESPHome Authors
      org.opencontainers.image.description: ESPHome is a system to configure your
        microcontrollers by simple yet powerful configuration files and control them
        remotely through Home Automation systems
      org.opencontainers.image.documentation: https://esphome.io/
      org.opencontainers.image.licenses: ESPHome
      org.opencontainers.image.source: https://github.com/esphome/esphome
      org.opencontainers.image.title: ESPHome
      org.opencontainers.image.url: https://esphome.io/
      org.opencontainers.image.version: 2025.8.0
    migration_complexity: low
    name: esphome
    network_mode: homeassistant_default
    networks:
    - homeassistant_default
    ports: *id032
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    - destination: /data
      read_write: true
      source: /home/jonathan/portainer/data
    category: monitoring
    created: '2025-08-21T19:18:15.396240092Z'
    depends_on: *id033
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: 6425f8788c2b
    image: portainer/portainer-ce:latest
    labels:
      com.docker.desktop.extension.api.version: '>= 0.2.2'
      com.docker.desktop.extension.icon: https://portainer-io-assets.sfo2.cdn.digitaloceanspaces.com/logos/portainer.png
      com.docker.extension.additional-urls: '[{"title":"Website","url":"https://www.portainer.io?utm_campaign=DockerCon&utm_source=DockerDesktop"},{"title":"Documentation","url":"https://docs.portainer.io"},{"title":"Support","url":"https://join.slack.com/t/portainer/shared_invite/zt-txh3ljab-52QHTyjCqbe5RibC2lcjKA"}]'
      com.docker.extension.detailed-description: <p data-renderer-start-pos="226">Portainer&rsquo;s
        Docker Desktop extension gives you access to all of Portainer&rsquo;s rich
        management functionality within your docker desktop experience.</p><h2 data-renderer-start-pos="374">With
        Portainer you can:</h2><ul><li>See all your running containers</li><li>Easily
        view all of your container logs</li><li>Console into containers</li><li>Easily
        deploy your code into containers using a simple form</li><li>Turn your YAML
        into custom templates for easy reuse</li></ul><h2 data-renderer-start-pos="660">About
        Portainer&nbsp;</h2><p data-renderer-start-pos="680">Portainer is the worlds&rsquo;
        most popular universal container management platform with more than 650,000
        active monthly users. Portainer can be used to manage Docker Standalone, Kubernetes
        and Docker Swarm environments through a single common interface. It includes
        a simple GitOps automation engine and a Kube API.&nbsp;</p><p data-renderer-start-pos="1006">Portainer
        Business Edition is our fully supported commercial grade product for business-wide
        use. It includes all the functionality that businesses need to manage containers
        at scale. Visit <a class="sc-jKJlTe dPfAtb" href="http://portainer.io/" title="http://Portainer.io"
        data-renderer-mark="true">Portainer.io</a> to learn more about Portainer Business
        and <a class="sc-jKJlTe dPfAtb" href="http://portainer.io/take-3?utm_campaign=DockerCon&amp;utm_source=Docker%20Desktop"
        title="http://portainer.io/take-3?utm_campaign=DockerCon&amp;utm_source=Docker%20Desktop"
        data-renderer-mark="true">get 3 free nodes.</a></p>
      com.docker.extension.publisher-url: https://www.portainer.io
      com.docker.extension.screenshots: '[{"alt": "screenshot one", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-1.png"},{"alt":
        "screenshot two", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-2.png"},{"alt":
        "screenshot three", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-3.png"},{"alt":
        "screenshot four", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-4.png"},{"alt":
        "screenshot five", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-5.png"},{"alt":
        "screenshot six", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-6.png"},{"alt":
        "screenshot seven", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-7.png"},{"alt":
        "screenshot eight", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-8.png"},{"alt":
        "screenshot nine", "url": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/screenshots/docker-extension-9.png"}]'
      io.portainer.server: 'true'
      org.opencontainers.image.description: "Docker container management made simple,\
        \ with the world\u2019s most popular GUI-based container management platform."
      org.opencontainers.image.title: Portainer
      org.opencontainers.image.vendor: Portainer.io
    migration_complexity: low
    name: portainer
    network_mode: bridge
    networks:
    - bridge
    ports: *id034
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /config
      read_write: true
      source: /home/jonathan/homeassistant/config
    category: home_automation
    created: '2025-08-22T02:02:58.508389145Z'
    depends_on: *id035
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - LANG=C.UTF-8
    - S6_BEHAVIOUR_IF_STAGE2_FAILS=2
    - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
    - S6_CMD_WAIT_FOR_SERVICES=1
    - S6_SERVICES_READYTIME=50
    - UV_EXTRA_INDEX_URL=https://wheels.home-assistant.io/musllinux-index/
    - S6_SERVICES_GRACETIME=240000
    - UV_SYSTEM_PYTHON=true
    - UV_NO_CACHE=true
    health_check: null
    id: 4d1d97d9152a
    image: ghcr.io/home-assistant/home-assistant:stable
    labels:
      com.docker.compose.config-hash: c8a89b64453c7e913b0e8b30ea0eac3dd8e1afe63babd633a66d740ca5959c8e
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:8502c5301fdbfa067c1694d5585940773708437d03fa1950e7b6d564c867fa2f
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: homeassistant
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/1
      com.docker.compose.replace: 676bebb73e3ea00c0ffc1f724667adbe31069bdf9fd220085ea50c953c2c24af
      com.docker.compose.service: homeassistant
      com.docker.compose.version: ''
      io.hass.arch: amd64
      io.hass.base.arch: amd64
      io.hass.base.image: ghcr.io/home-assistant/amd64-base:3.21
      io.hass.base.name: python
      io.hass.base.version: 2025.05.0
      io.hass.type: core
      io.hass.version: 2025.8.3
      org.opencontainers.image.authors: The Home Assistant Authors
      org.opencontainers.image.created: '2025-08-21 18:29:10+00:00'
      org.opencontainers.image.description: Open-source home automation platform running
        on Python 3
      org.opencontainers.image.documentation: https://www.home-assistant.io/docs/
      org.opencontainers.image.licenses: Apache-2.0
      org.opencontainers.image.source: https://github.com/home-assistant/core
      org.opencontainers.image.title: Home Assistant
      org.opencontainers.image.url: https://www.home-assistant.io/
      org.opencontainers.image.version: 2025.8.3
    migration_complexity: medium
    name: homeassistant
    network_mode: homeassistant_default
    networks:
    - homeassistant_default
    ports: *id036
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts: []
    category: document_management
    created: '2025-08-23T20:01:49.343368309Z'
    depends_on: *id037
    device: jonathan-2518f5u
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - GOSU_VERSION=1.17
    - REDIS_VERSION=6.2.19
    - REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.19.tar.gz
    - REDIS_DOWNLOAD_SHA=73be4202261c2e2e3534ec2c3dcfbb338cceff40481ecf46c3578cb9e5fdea74
    health_check: null
    id: 67eac5c94a77
    image: redis:6
    labels:
      com.docker.compose.config-hash: 38a890f1a5f522e70397c875dda6774e0245a17fdf143f38e395271a24d3b0ac
      com.docker.compose.container-number: '1'
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: paperless-ngx
      com.docker.compose.project.config_files: docker-compose.yml
      com.docker.compose.project.working_dir: /home/jonathan/paperless-ngx
      com.docker.compose.service: broker
      com.docker.compose.version: 1.29.2
    migration_complexity: medium
    name: paperless-ngx_broker_1
    network_mode: paperless-ngx_paperless
    networks:
    - paperless-ngx_paperless
    ports: *id038
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /data
      name: paperless-ngx_redisdata
      read_write: true
      source: /var/lib/docker/volumes/paperless-ngx_redisdata/_data
  - bind_mounts:
    - destination: /usr/src/paperless/export
      read_write: true
      source: /mnt/pdfs/export
    - destination: /usr/src/paperless/data
      read_write: true
      source: /home/jonathan/paperless-ngx/data
    - destination: /usr/src/paperless/consume
      read_write: true
      source: /mnt/pdfs/consume
    - destination: /usr/src/paperless/media
      read_write: true
      source: /mnt/pdfs/media
    category: document_management
    created: '2025-08-23T20:01:52.150373869Z'
    depends_on: *id039
    device: jonathan-2518f5u
    environment:
    - PAPERLESS_REDIS=redis://broker:6379
    - PAPERLESS_TIME_ZONE=America/New_York
    - PAPERLESS_OCR_LANGUAGE=eng
    - PAPERLESS_ADMIN_USER=admin
    - PAPERLESS_ADMIN_PASSWORD=yourpassword
    - PAPERLESS_URL=http://localhost:8000
    - PAPERLESS_CONSUME_DIR=/usr/src/paperless/consume
    - PAPERLESS_CONSUMER_RECURSIVE=true
    - PAPERLESS_CONSUMER_POLLING=300
    - PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true
    - PAPERLESS_DISABLE_PERMISSIONS=true
    - PATH=/command:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - LANG=C.UTF-8
    - GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
    - PYTHON_VERSION=3.12.11
    - PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb
    - UV_TOOL_BIN_DIR=/usr/local/bin
    - S6_BEHAVIOUR_IF_STAGE2_FAILS=2
    - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
    - S6_VERBOSITY=1
    - PYTHONDONTWRITEBYTECODE=1
    - PYTHONUNBUFFERED=1
    - PYTHONWARNINGS=ignore:::django.http.response:517
    - PNGX_CONTAINERIZED=1
    - UV_LINK_MODE=copy
    - UV_CACHE_DIR=/cache/uv/
    health_check:
      interval: 30
      retries: 5
      test:
      - CMD
      - curl
      - -fs
      - -S
      - -L
      - --max-time
      - '2'
      - http://localhost:8000
      timeout: 10
    id: 1f71d966e91a
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    labels:
      com.docker.compose.config-hash: 5e213f768ba0aa30992a4a1db974da4dc464627e0f936f87801e34aa6478db2b
      com.docker.compose.container-number: '1'
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: paperless-ngx
      com.docker.compose.project.config_files: docker-compose.yml
      com.docker.compose.project.working_dir: /home/jonathan/paperless-ngx
      com.docker.compose.service: webserver
      com.docker.compose.version: 1.29.2
      org.opencontainers.image.authors: paperless-ngx team <hello@paperless-ngx.com>
      org.opencontainers.image.created: '2025-08-22T23:36:58.254Z'
      org.opencontainers.image.description: 'A community-supported supercharged document
        management system: scan, index and archive all your documents'
      org.opencontainers.image.documentation: https://docs.paperless-ngx.com/
      org.opencontainers.image.licenses: GPL-3.0
      org.opencontainers.image.revision: daf47f377b14f7dee7f17385828cbbbca3f5fe5b
      org.opencontainers.image.source: https://github.com/paperless-ngx/paperless-ngx
      org.opencontainers.image.title: paperless-ngx
      org.opencontainers.image.url: https://github.com/paperless-ngx/paperless-ngx
      org.opencontainers.image.version: 2.18.2
    migration_complexity: medium
    name: paperless-ngx_webserver_1
    network_mode: paperless-ngx_paperless
    networks:
    - paperless-ngx_paperless
    ports: *id040
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  lenovo420:
  - bind_mounts: []
    category: other
    created: '2025-07-26T06:00:12.955209869Z'
    depends_on: *id041
    device: lenovo420
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NGINX_VERSION=1.29.0
    - PKG_RELEASE=1
    - DYNPKG_RELEASE=1
    - NJS_VERSION=0.9.0
    - NJS_RELEASE=1
    health_check: null
    id: f10bb67d4491
    image: iib0011/omni-tools:latest
    labels:
      com.docker.compose.config-hash: 0dc5567618554d0620b949ca58efe3895546b3b02b987d7bd3896718b10b1e51
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:446e27d879283ee7e50c2b9d0a71708da582f5dddc37c548ff37e6e3369a113f
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: omnitools
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/70/v1
      com.docker.compose.service: omni-tools
      com.docker.compose.version: ''
      maintainer: NGINX Docker Maintainers <docker-maint@nginx.com>
      org.opencontainers.image.created: '2025-07-26T05:00:18.782Z'
      org.opencontainers.image.description: Self-hosted collection of powerful web-based
        tools for everyday tasks. No ads, no tracking, just fast, accessible utilities
        right from your browser!
      org.opencontainers.image.licenses: MIT
      org.opencontainers.image.revision: 234fc8090bdf7b4dd70c5cd027c75ebe4b6ba1fc
      org.opencontainers.image.source: https://github.com/iib0011/omni-tools
      org.opencontainers.image.title: omni-tools
      org.opencontainers.image.url: https://github.com/iib0011/omni-tools
      org.opencontainers.image.version: latest
    migration_complexity: low
    name: omni-tools
    network_mode: omnitools_default
    networks:
    - omnitools_default
    ports: *id042
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /config
      read_write: true
      source: /opt/duckdns/config
    category: other
    created: '2025-08-11T06:00:46.757983878Z'
    depends_on: *id043
    device: lenovo420
    environment:
    - LOG_FILE=false
    - UPDATE_FREQ=5
    - PUID=1000
    - PGID=1000
    - TZ=America/New_York
    - SUBDOMAINS=pressmess
    - TOKEN=cf575404-be06-4e94-9a6f-fdad61c686c4
    - PATH=/lsiopy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - 'PS1=$(whoami)@$(hostname):$(pwd)\$ '
    - HOME=/root
    - TERM=xterm
    - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
    - S6_VERBOSITY=1
    - S6_STAGE2_HOOK=/docker-mods
    - VIRTUAL_ENV=/lsiopy
    - LSIO_FIRST_PARTY=true
    health_check: null
    id: 704876598a27
    image: linuxserver/duckdns:latest
    labels:
      build_version: Linuxserver.io version:- 992f1854-ls62 Build-date:- 2025-08-11T04:34:47+00:00
      com.docker.compose.config-hash: c7ff36d35ede785e0c4002d28ef8fa0acddce706acb53e505d240f4304079494
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:051f2b02fa20ab24e765e2461903917b62962186f862bdfad749f2a8b7dd5465
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: duckdns
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/69/v2
      com.docker.compose.replace: 26f56b60ca9aeaa7a6c3e7445b63c7b86d81dda8d71ec13ff46422bf99f8d1b3
      com.docker.compose.service: duckdns
      com.docker.compose.version: ''
      maintainer: aptalca
      org.opencontainers.image.authors: linuxserver.io
      org.opencontainers.image.created: '2025-08-11T04:34:47+00:00'
      org.opencontainers.image.description: '[Duckdns](https://duckdns.org/) is a
        free service which will point a DNS (sub domains of duckdns.org) to an IP
        of your choice. The service is completely free, and doesn''t require reactivation
        or forum posts to maintain its existence.'
      org.opencontainers.image.documentation: https://docs.linuxserver.io/images/docker-duckdns
      org.opencontainers.image.licenses: GPL-3.0-only
      org.opencontainers.image.ref.name: a84e3fb8071f48aec61ee7f006a1da176f990854
      org.opencontainers.image.revision: a84e3fb8071f48aec61ee7f006a1da176f990854
      org.opencontainers.image.source: https://github.com/linuxserver/docker-duckdns
      org.opencontainers.image.title: Duckdns
      org.opencontainers.image.url: https://github.com/linuxserver/docker-duckdns/packages
      org.opencontainers.image.vendor: linuxserver.io
      org.opencontainers.image.version: 992f1854-ls62
    migration_complexity: low
    name: duckdns
    network_mode: duckdns_network
    networks:
    - duckdns_network
    ports: *id044
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts: []
    category: other
    created: '2025-08-04T19:37:20.366409567Z'
    depends_on: *id045
    device: lenovo420
    environment:
    - PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - LANG=C.UTF-8
    - GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
    - PYTHON_VERSION=3.10.11
    - PYTHON_PIP_VERSION=23.0.1
    - PYTHON_SETUPTOOLS_VERSION=65.5.1
    - PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/d5cb0afaf23b8520f1bbcfed521017b4a95f5c01/public/get-pip.py
    - PYTHON_GET_PIP_SHA256=394be00f13fa1b9aaa47e911bdb59a09c3b2986472130f30aa0bfaf7f3980637
    health_check: null
    id: c338f607b273
    image: dalehumby/openwakeword-rhasspy
    labels: {}
    migration_complexity: low
    name: openwakeword
    network_mode: host
    networks:
    - host
    ports: *id046
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: restarting
    volumes: []
  - bind_mounts: []
    category: other
    created: '2025-07-24T00:16:02.559456969Z'
    depends_on: *id047
    device: lenovo420
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - UID=1000
    - GID=1000
    health_check:
      interval: 5
      retries: 0
      test:
      - CMD-SHELL
      - /healthcheck.sh
      timeout: 3
    id: 2d6d1c4f83dd
    image: filebrowser/filebrowser:latest
    labels:
      org.opencontainers.image.created: '2025-07-22T06:31:25Z'
      org.opencontainers.image.name: filebrowser
      org.opencontainers.image.revision: e5e1b6dee48d5d2845350854d4b052458710f286
      org.opencontainers.image.source: https://github.com/filebrowser/filebrowser
      org.opencontainers.image.version: 2.41.0
    migration_complexity: medium
    name: sad_moser
    network_mode: bridge
    networks:
    - bridge
    ports: *id048
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: restarting
    volumes:
    - destination: /config
      name: 890112767db1aca83faf31461b6f2142af9d9b1b5cf0ac172ec2e6600a07c27b
      read_write: true
      source: /var/lib/docker/volumes/890112767db1aca83faf31461b6f2142af9d9b1b5cf0ac172ec2e6600a07c27b/_data
    - destination: /data
      name: bbf0315555dbaa76dde0e8f6d666e54db7c8ad42bba6c0a198203945d30d1be5
      read_write: true
      source: /var/lib/docker/volumes/bbf0315555dbaa76dde0e8f6d666e54db7c8ad42bba6c0a198203945d30d1be5/_data
    - destination: /database
      name: c3f792d6fa811027c724a4ed4bbb029b64b8ac0c2c81150baea556f7638f59da
      read_write: true
      source: /var/lib/docker/volumes/c3f792d6fa811027c724a4ed4bbb029b64b8ac0c2c81150baea556f7638f59da/_data
    - destination: /srv
      name: dc913ee5a837413a55bc0b6c5493c487c2ce112938a37df929731421b22b43d2
      read_write: true
      source: /var/lib/docker/volumes/dc913ee5a837413a55bc0b6c5493c487c2ce112938a37df929731421b22b43d2/_data
  - bind_mounts: []
    category: other
    created: '2025-08-04T19:19:00.641375013Z'
    depends_on: *id049
    device: lenovo420
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: 3adb056a4df2
    image: rhasspy/wyoming-whisper
    labels: {}
    migration_complexity: low
    name: wyoming-whisper
    network_mode: bridge
    networks:
    - bridge
    ports: *id050
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    category: monitoring
    created: '2025-05-23T21:01:45.323321868Z'
    depends_on: *id051
    device: lenovo420
    environment:
    - TZ=America/New_York
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check:
      interval: 0
      retries: 0
      test:
      - CMD
      - /watchtower
      - --health-check
      timeout: 0
    id: d269ab80f8a5
    image: containrrr/watchtower
    labels:
      com.centurylinklabs.watchtower: 'true'
      com.docker.compose.config-hash: 6519c48f19da48badfc681c9948581381dce361a3e4db664c06823a9538e05a7
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:e7dd50d07b86c380dd53caeb7778da052d1a8fc2c606644a419afa35e9f5691e
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: watchtower
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/46/v2
      com.docker.compose.replace: e54ea37b0e4027d7af3a74ef8813410f71f7ff9564dd5d84ed6a842229ad4805
      com.docker.compose.service: watchtower
      com.docker.compose.version: ''
    migration_complexity: low
    name: watchtower-watchtower-1
    network_mode: watchtower_default
    networks:
    - watchtower_default
    ports: *id052
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    - destination: /var/lib/docker/volumes
      read_write: true
      source: /var/lib/docker/volumes
    category: monitoring
    created: '2025-08-20T06:00:41.231457642Z'
    depends_on: *id053
    device: lenovo420
    environment:
    - PATH=/app:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: f98c54046fb5
    image: portainer/agent:latest
    labels:
      io.portainer.agent: 'true'
    migration_complexity: low
    name: portainer_agent
    network_mode: bridge
    networks:
    - bridge
    ports: *id054
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes: []
  omv800.local:
  - bind_mounts:
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    category: monitoring
    created: '2025-05-23T21:02:09.520300121Z'
    depends_on: *id055
    device: omv800.local
    environment:
    - TZ=America/New_York
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check:
      interval: 0
      retries: 0
      test:
      - CMD
      - /watchtower
      - --health-check
      timeout: 0
    id: 640b5a3c0a9a
    image: containrrr/watchtower
    labels:
      com.centurylinklabs.watchtower: 'true'
      com.docker.compose.config-hash: 6519c48f19da48badfc681c9948581381dce361a3e4db664c06823a9538e05a7
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:e7dd50d07b86c380dd53caeb7778da052d1a8fc2c606644a419afa35e9f5691e
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: watchtower
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/47/v1
      com.docker.compose.service: watchtower
      com.docker.compose.version: ''
    migration_complexity: low
    name: watchtower-watchtower-1
    network_mode: watchtower_default
    networks:
    - watchtower_default
    ports: *id056
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /opt/unbound/etc/unbound
      read_write: true
      source: /opt/unbound
    category: dns_dhcp
    created: '2025-06-26T01:01:24.048687682Z'
    depends_on: *id057
    device: omv800.local
    environment:
    - TZ=America/New_York
    - PATH=/opt/unbound/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NAME=unbound
    - SUMMARY= is a validating, recursive, and caching DNS resolver.
    - DESCRIPTION= is a validating, recursive, and caching DNS resolver.
    health_check:
      interval: 30
      retries: 3
      test:
      - CMD-SHELL
      - drill @127.0.0.1 -p 5335 cloudflare.com || exit 1
      timeout: 10
    id: dce1e219975b
    image: mvance/unbound:latest
    labels:
      com.docker.compose.config-hash: d9e589a5e3b5a48ce2d66e637213d4b17673e9df0b55582a202b21c32f9f9efd
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:a7778ebb14b25328fc6de5b58ddf5dfe3e0891afec8fd86744995fd8dbcd5b4e
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: unbound_adguard
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/71/v7
      com.docker.compose.service: unbound
      com.docker.compose.version: ''
      maintainer: Matthew Vance
      org.opencontainers.image.description: a validating, recursive, and caching DNS
        resolver
      org.opencontainers.image.licenses: MIT
      org.opencontainers.image.source: https://github.com/MatthewVance/unbound-docker
      org.opencontainers.image.title: mvance/unbound
      org.opencontainers.image.url: https://github.com/MatthewVance/unbound-docker
      org.opencontainers.image.vendor: Matthew Vance
      org.opencontainers.image.version: ''
    migration_complexity: low
    name: unbound
    network_mode: host
    networks:
    - host
    ports: *id058
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /host
      read_write: true
      source: /
    - destination: /var/lib/docker/volumes
      read_write: true
      source: /var/lib/docker/volumes
    - destination: /var/run/docker.sock
      read_write: true
      source: /var/run/docker.sock
    category: monitoring
    created: '2025-08-05T16:45:49.85894565Z'
    depends_on: *id059
    device: omv800.local
    environment:
    - AGENT_CLUSTER_ADDR=
    - CAP_HOST_MANAGEMENT=1
    - PATH=/app:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: d306d05cbfdd
    image: portainer/agent:2.27.9
    labels:
      io.portainer.agent: 'true'
    migration_complexity: low
    name: portainer_agent
    network_mode: bridge
    networks:
    - bridge
    ports: *id060
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/lib/postgresql/data
      read_write: true
      source: /srv/mergerfs/presscloud/immich/postgres
    category: database
    created: '2025-08-08T01:51:42.479268492Z'
    depends_on: *id061
    device: omv800.local
    environment:
    - POSTGRES_USER=postgres
    - POSTGRES_DB=immich
    - POSTGRES_INITDB_ARGS=--data-checksums
    - POSTGRES_PASSWORD=postgres
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/14/bin
    - GOSU_VERSION=1.17
    - LANG=en_US.utf8
    - PG_MAJOR=14
    - PG_VERSION=14.18-1.pgdg120+1
    - PGDATA=/var/lib/postgresql/data
    - DB_STORAGE_TYPE=SSD
    health_check:
      interval: 300
      retries: 0
      test:
      - CMD-SHELL
      - /usr/local/bin/healthcheck.sh
      timeout: 0
    id: 142f8c9ea29b
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    labels:
      com.docker.compose.config-hash: 1015853fb6fe53c989319829888160795417339c62fce74c48c7ac7beb222aa9
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:1ce9341724921ad7cb66bc9259bc10571ababbb1da6e001fe6d07a87c645545a
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: immich
      com.docker.compose.project.config_files: /srv/mergerfs/presscloud/docker/immich/immich.yml
      com.docker.compose.project.working_dir: /srv/mergerfs/presscloud/docker/immich
      com.docker.compose.service: database
      com.docker.compose.version: 2.39.1
      org.opencontainers.image.created: '2025-07-23T21:03:55.425Z'
      org.opencontainers.image.description: Base images for Immich containers
      org.opencontainers.image.licenses: AGPL-3.0
      org.opencontainers.image.revision: ee806e819e922de0a2744cf61da90428b169dc4a
      org.opencontainers.image.source: https://github.com/immich-app/base-images
      org.opencontainers.image.title: base-images
      org.opencontainers.image.url: https://github.com/immich-app/base-images
      org.opencontainers.image.version: 14-vectorchord0.3.0-pgvector0.8.0-pgvectors0.2.0
    migration_complexity: medium
    name: immich_postgres
    network_mode: immich_default
    networks:
    - immich_default
    ports: *id062
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes: []
  - bind_mounts: []
    category: photo_management
    created: '2025-08-08T01:51:42.480749553Z'
    depends_on: *id063
    device: omv800.local
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - VALKEY_VERSION=8.1.1
    - VALKEY_DOWNLOAD_URL=https://github.com/valkey-io/valkey/archive/refs/tags/8.1.1.tar.gz
    - VALKEY_DOWNLOAD_SHA=3355fbd5458d853ab201d2c046ffca9f078000587ccbe9a6c585110f146ad2c5
    health_check:
      interval: 0
      retries: 0
      test:
      - CMD-SHELL
      - redis-cli ping || exit 1
      timeout: 0
    id: 8d9a75eb471b
    image: docker.io/valkey/valkey:8-bookworm@sha256:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
    labels:
      com.docker.compose.config-hash: 5ba448eb2623834af872533bbe4ef82962bd094cf17ab4cd7285af34ecd5dbf8
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:bcc373d8f1ec874f2fc597e45e1976d6396011425442f6f2a74c9760932cc833
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: immich
      com.docker.compose.project.config_files: /srv/mergerfs/presscloud/docker/immich/immich.yml
      com.docker.compose.project.working_dir: /srv/mergerfs/presscloud/docker/immich
      com.docker.compose.service: redis
      com.docker.compose.version: 2.39.1
    migration_complexity: medium
    name: immich_redis
    network_mode: immich_default
    networks:
    - immich_default
    ports: *id064
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes:
    - destination: /data
      name: ea89627ba917b667163aaa37d8ec2f9c1895530fde67be90459db02f6b986a6b
      read_write: true
      source: /var/lib/docker/volumes/ea89627ba917b667163aaa37d8ec2f9c1895530fde67be90459db02f6b986a6b/_data
  - bind_mounts:
    - destination: /var/lib/mysql
      read_write: true
      source: /srv/mergerfs/DataPool/nextcloud/mariadb
    category: cloud_storage
    created: '2025-08-13T06:02:37.57113492Z'
    depends_on: *id065
    device: omv800.local
    environment:
    - MYSQL_USER=nextcloud
    - MYSQL_ROOT_PASSWORD=YourStrongRootPasswordHere
    - MYSQL_PASSWORD=YourStrongDatabasePasswordHere
    - MYSQL_DATABASE=nextcloud1
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - GOSU_VERSION=1.17
    - LANG=C.UTF-8
    - MARIADB_MAJOR=10.6
    - MARIADB_VERSION=1:10.6.23+maria~ubu2204
    health_check: null
    id: 192a7291dc00
    image: mariadb:10.6
    labels:
      com.docker.compose.config-hash: f7597c0c214a5921728ecfe50b7df713700bc1b373564e622f20c120e60c15b7
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:c14f2faa3568d30c2196e10206520115d020de516e143f6a351db9eba3011d6b
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: nextcloud
      com.docker.compose.project.config_files: /srv/mergerfs/presscloud/docker/nextcloud/nextcloud.yml,/srv/mergerfs/presscloud/docker/nextcloud/compose.override.yml
      com.docker.compose.project.environment_file: /srv/mergerfs/presscloud/docker/global.env,/srv/mergerfs/presscloud/docker/nextcloud/nextcloud.env
      com.docker.compose.project.working_dir: /srv/mergerfs/presscloud/docker/nextcloud
      com.docker.compose.service: nextcloud-db
      com.docker.compose.version: 2.35.1
      org.opencontainers.image.authors: MariaDB Community
      org.opencontainers.image.base.name: docker.io/library/ubuntu:jammy
      org.opencontainers.image.description: MariaDB Database for relational SQL
      org.opencontainers.image.documentation: https://hub.docker.com/_/mariadb/
      org.opencontainers.image.licenses: GPL-2.0
      org.opencontainers.image.ref.name: ubuntu
      org.opencontainers.image.source: https://github.com/MariaDB/mariadb-docker
      org.opencontainers.image.title: MariaDB Database
      org.opencontainers.image.url: https://github.com/MariaDB/mariadb-docker
      org.opencontainers.image.vendor: MariaDB Community
      org.opencontainers.image.version: 10.6.23
    migration_complexity: medium
    name: nextcloud-db
    network_mode: nextcloud_nextcloud-internal
    networks:
    - nextcloud_nextcloud-internal
    ports: *id066
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /data
      read_write: true
      source: /srv/mergerfs/DataPoolgitea/data
    category: code_repository
    created: '2025-08-14T06:00:33.374655171Z'
    depends_on: *id067
    device: omv800.local
    environment:
    - USER_GID=100
    - TZ=America/New_York
    - USER_UID=1000
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - USER=git
    - GITEA_CUSTOM=/data/gitea
    health_check: null
    id: 44ba1ff45399
    image: gitea/gitea:latest
    labels:
      com.docker.compose.config-hash: 9357d968e82116e52c522626c93fac21507438380b972ce005cab0583330796f
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:70c99ba39d5e440577d3a05ecdeb4766aff075283fe15136b08ef3446cc518fc
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: gitea
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/87/v1
      com.docker.compose.service: gitea
      com.docker.compose.version: ''
      maintainer: maintainers@gitea.io
      org.opencontainers.image.created: '2025-08-13T16:00:30.404Z'
      org.opencontainers.image.description: Git with a cup of tea! Painless self-hosted
        all-in-one software development service, including Git hosting, code review,
        team collaboration, package registry and CI/CD
      org.opencontainers.image.licenses: MIT
      org.opencontainers.image.revision: 136ec9ef812a3e684c6c86f535e3db5f74654308
      org.opencontainers.image.source: https://github.com/go-gitea/gitea
      org.opencontainers.image.title: gitea
      org.opencontainers.image.url: https://github.com/go-gitea/gitea
      org.opencontainers.image.version: 1.24.5
    migration_complexity: medium
    name: gitea
    network_mode: gitea_default
    networks:
    - gitea_default
    ports: *id068
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/lib/postgresql/data
      read_write: true
      source: /data/compose/102/data/postgres
    category: database
    created: '2025-08-15T06:05:28.470894492Z'
    depends_on: *id069
    device: omv800.local
    environment:
    - POSTGRES_DB=joplin
    - POSTGRES_PASSWORD=joplin
    - POSTGRES_USER=joplin
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/16/bin
    - GOSU_VERSION=1.17
    - LANG=en_US.utf8
    - PG_MAJOR=16
    - PG_VERSION=16.10-1.pgdg13+1
    - PGDATA=/var/lib/postgresql/data
    health_check:
      interval: 10
      retries: 5
      test:
      - CMD-SHELL
      - pg_isready -U joplin -d joplin
      timeout: 5
    id: 008e84d9204d
    image: postgres:16
    labels:
      com.docker.compose.config-hash: 5b12fdd4b67385f99ceed8fbf9cda51d164108da01009af1f5a9f42293877af1
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:2ff0239b72358f31ecb624d7c9de29086b364bbf6734382e148cd49e189b16a5
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: joplin
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/102
      com.docker.compose.replace: 70d33b5518634d8f7cf2fbe9ddaaf0d4dc94c4bf2de7bca5de1264f4b865964e
      com.docker.compose.service: db
      com.docker.compose.version: ''
    migration_complexity: medium
    name: joplin-db-1
    network_mode: joplin_default
    networks:
    - joplin_default
    ports: *id070
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /var/www/html
      read_write: true
      source: /srv/mergerfs/DataPool/nextcloud/data
    - destination: /var/www/html/config
      read_write: true
      source: /srv/mergerfs/DataPool/nextcloud/config
    - destination: /var/www/html/custom_apps
      read_write: true
      source: /srv/mergerfs/DataPool/nextcloud/custom_apps
    - destination: /var/www/html/themes
      read_write: true
      source: /srv/mergerfs/DataPool/nextcloud/themes
    category: cloud_storage
    created: '2025-08-15T06:05:28.677725868Z'
    depends_on: *id071
    device: omv800.local
    environment:
    - REDIS_HOST=nextcloud-redis
    - NEXTCLOUD_TRUSTED_DOMAINS=localhost,nextcloud.local,192.168.50.66,100.98.144.95,
    - MYSQL_PASSWORD=YourStrongDatabasePasswordHere
    - MYSQL_DATABASE=nextcloud1
    - MYSQL_USER=nextcloud
    - MYSQL_HOST=nextcloud-db
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - "PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\t\
      make \t\tpkg-config \t\tre2c"
    - PHP_INI_DIR=/usr/local/etc/php
    - APACHE_CONFDIR=/etc/apache2
    - APACHE_ENVVARS=/etc/apache2/envvars
    - PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
    - PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
    - PHP_LDFLAGS=-Wl,-O1 -pie
    - GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4
      AFD8691FDAEDF03BDF6E460563F15A9B715376CA
    - PHP_VERSION=8.3.24
    - PHP_URL=https://www.php.net/distributions/php-8.3.24.tar.xz
    - PHP_ASC_URL=https://www.php.net/distributions/php-8.3.24.tar.xz.asc
    - PHP_SHA256=388ee5fd111097e97bae439bff46aec4ea27f816d3f0c2cb5490a41410d44251
    - PHP_MEMORY_LIMIT=512M
    - PHP_UPLOAD_LIMIT=512M
    - PHP_OPCACHE_MEMORY_CONSUMPTION=128
    - APACHE_BODY_LIMIT=1073741824
    - NEXTCLOUD_VERSION=31.0.8
    health_check: null
    id: 8f5b57c8bcd4
    image: nextcloud:latest
    labels:
      com.docker.compose.config-hash: 08854b2ca5c14dcb890117b09ab58ed253b0f3a52b5996d05f9d800857151b79
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: nextcloud-redis:service_started:false,nextcloud-db:service_started:false
      com.docker.compose.image: sha256:f2c2eb46b9ecd6689c81197c4f4f60249856db018c52d68680b33862fa1cc43f
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: nextcloud
      com.docker.compose.project.config_files: /srv/mergerfs/presscloud/docker/nextcloud/nextcloud.yml,/srv/mergerfs/presscloud/docker/nextcloud/compose.override.yml
      com.docker.compose.project.environment_file: /srv/mergerfs/presscloud/docker/global.env,/srv/mergerfs/presscloud/docker/nextcloud/nextcloud.env
      com.docker.compose.project.working_dir: /srv/mergerfs/presscloud/docker/nextcloud
      com.docker.compose.service: nextcloud
      com.docker.compose.version: 2.35.1
    migration_complexity: high
    name: nextcloud
    network_mode: nextcloud_nextcloud-internal
    networks:
    - nextcloud_nextcloud-internal
    ports: *id072
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /media/movies
      read_write: true
      source: /srv/mergerfs/DataPool/Movies
    - destination: /media/tv_shows
      read_write: true
      source: /srv/mergerfs/DataPool/tv_shows
    category: media_streaming
    created: '2025-08-15T13:11:53.606730724Z'
    depends_on: *id073
    device: omv800.local
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - HEALTHCHECK_URL=http://localhost:8096/health
    - DEBIAN_FRONTEND=noninteractive
    - LC_ALL=en_US.UTF-8
    - LANG=en_US.UTF-8
    - LANGUAGE=en_US:en
    - JELLYFIN_DATA_DIR=/config
    - JELLYFIN_CACHE_DIR=/cache
    - JELLYFIN_CONFIG_DIR=/config/config
    - JELLYFIN_LOG_DIR=/config/log
    - JELLYFIN_WEB_DIR=/jellyfin/jellyfin-web
    - JELLYFIN_FFMPEG=/usr/lib/jellyfin-ffmpeg/ffmpeg
    - XDG_CACHE_HOME=/cache
    - MALLOC_TRIM_THRESHOLD_=131072
    - NVIDIA_VISIBLE_DEVICES=all
    - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility
    health_check:
      interval: 30
      retries: 3
      test:
      - CMD-SHELL
      - curl --noproxy 'localhost' -Lk -fsS "${HEALTHCHECK_URL}" || exit 1
      timeout: 30
    id: bc2d624109fe
    image: jellyfin/jellyfin:latest
    labels:
      org.opencontainers.image.description: The Free Software Media System
      org.opencontainers.image.documentation: https://jellyfin.org/docs/
      org.opencontainers.image.source: https://github.com/jellyfin/jellyfin-packaging
      org.opencontainers.image.title: Jellyfin
      org.opencontainers.image.url: https://jellyfin.org
      org.opencontainers.image.version: 10.10.7
    migration_complexity: high
    name: jellyfin
    network_mode: bridge
    networks:
    - bridge
    ports: *id074
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /config
      name: jellyfin-config
      read_write: true
      source: /var/lib/docker/volumes/jellyfin-config/_data
    - destination: /cache
      name: jellyfin-cache
      read_write: true
      source: /var/lib/docker/volumes/jellyfin-cache/_data
  - bind_mounts: []
    category: cloud_storage
    created: '2025-08-19T06:05:41.875639569Z'
    depends_on: *id075
    device: omv800.local
    environment:
    - redis.session.lock_retries=-1
    - redis.session.lock_wait_time=10000
    - redis.session.locking_enabled=1
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-8.2.1.tar.gz
    - REDIS_DOWNLOAD_SHA=e2c1cb9dd4180a35b943b85dfc7dcdd42566cdbceca37d0d0b14c21731582d3e
    health_check: null
    id: 6eadd6de635c
    image: redis:alpine
    labels:
      com.docker.compose.config-hash: 456be1a922391d7e66cf4cbe9ee51e890fe63462598792e6bfc7b5b8cf8f0de6
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:d470ca4bc10ce2d16268912e403494f8785413a2ab6677d8cd444412349bfc2d
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: nextcloud
      com.docker.compose.project.config_files: /srv/mergerfs/presscloud/docker/nextcloud/nextcloud.yml,/srv/mergerfs/presscloud/docker/nextcloud/compose.override.yml
      com.docker.compose.project.environment_file: /srv/mergerfs/presscloud/docker/global.env,/srv/mergerfs/presscloud/docker/nextcloud/nextcloud.env
      com.docker.compose.project.working_dir: /srv/mergerfs/presscloud/docker/nextcloud
      com.docker.compose.service: nextcloud-redis
      com.docker.compose.version: 2.35.1
    migration_complexity: medium
    name: nextcloud-redis
    network_mode: nextcloud_nextcloud-internal
    networks:
    - nextcloud_nextcloud-internal
    ports: *id076
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /data
      name: ec3794dfe53f0e89aa9cb010d05d9803d15b457ca80e10e55bb5d07bfe238475
      read_write: true
      source: /var/lib/docker/volumes/ec3794dfe53f0e89aa9cb010d05d9803d15b457ca80e10e55bb5d07bfe238475/_data
  - bind_mounts: []
    category: other
    created: '2025-08-19T06:05:42.121498481Z'
    depends_on: *id077
    device: omv800.local
    environment:
    - POSTGRES_USER=joplin
    - POSTGRES_PORT=5432
    - POSTGRES_HOST=db
    - APP_PORT=22300
    - APP_BASE_URL=http://omv800.tail6ca08d.ts.net:22300
    - DB_CLIENT=pg
    - POSTGRES_PASSWORD=joplin
    - POSTGRES_DATABASE=joplin
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NODE_VERSION=18.20.8
    - YARN_VERSION=1.22.22
    - NODE_ENV=production
    - RUNNING_IN_DOCKER=1
    health_check: null
    id: b266f61836b0
    image: joplin/server:latest
    labels:
      com.docker.compose.config-hash: da591ea7425c896f27e7b72e06dc7505b8893b87cf82dd7ab9da16f636bb9771
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: db:service_healthy:false
      com.docker.compose.image: sha256:c80f8dd6c21da4f283dcb93ff5eac445c02b53e77395776d4cf1eda40f42c347
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: joplin
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/102
      com.docker.compose.replace: 1b40daeeaaddc12a9f31fb9f1befaba1f20027dbc55dbd297fbbd94958161891
      com.docker.compose.service: app
      com.docker.compose.version: ''
      org.opencontainers.image.created: '2025-08-18T17:10:56+00:00'
      org.opencontainers.image.description: Docker image for Joplin Server
      org.opencontainers.image.revision: 9147afc
      org.opencontainers.image.source: https://github.com/laurent22/joplin.git
      org.opencontainers.image.title: Joplin Server
      org.opencontainers.image.url: https://joplinapp.org/
      org.opencontainers.image.version: 3.4.2
    migration_complexity: low
    name: joplin-app-1
    network_mode: joplin_default
    networks:
    - joplin_default
    ports: *id078
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts:
    - destination: /app/vikunja/files
      read_write: true
      source: /root/data/vikunja
    category: other
    created: '2025-08-19T12:40:50.576347908Z'
    depends_on: *id079
    device: omv800.local
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - VIKUNJA_SERVICE_ROOTPATH=/app/vikunja/
    - VIKUNJA_DATABASE_PATH=/db/vikunja.db
    health_check: null
    id: 54d57deeee3c
    image: vikunja/vikunja:latest
    labels:
      org.opencontainers.image.authors: maintainers@vikunja.io
      org.opencontainers.image.created: '2025-08-17T19:41:46.059Z'
      org.opencontainers.image.description: The to-do app to organize your life.
      org.opencontainers.image.documentation: https://vikunja.io/docs
      org.opencontainers.image.licenses: AGPL-3.0
      org.opencontainers.image.revision: ba6a256311a29942871101031541a79f06d8ea5b
      org.opencontainers.image.source: https://github.com/go-vikunja/vikunja
      org.opencontainers.image.title: vikunja
      org.opencontainers.image.url: https://github.com/go-vikunja/vikunja
      org.opencontainers.image.version: 1.0.0-rc1
    migration_complexity: medium
    name: joplin-vikunja-1
    network_mode: bridge
    networks:
    - bridge
    ports: *id080
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /db
      name: vikunja-db
      read_write: true
      source: /var/lib/docker/volumes/vikunja-db/_data
  - bind_mounts: []
    category: document_management
    created: '2025-08-20T21:54:15.533408798Z'
    depends_on: *id081
    device: omv800.local
    environment:
    - TZ=America/New_York
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - GOSU_VERSION=1.17
    - REDIS_VERSION=6.0.20
    - REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.0.20.tar.gz
    - REDIS_DOWNLOAD_SHA=173d4c5f44b5d7186da96c4adc5cb20e8018b50ec3a8dfe0d191dbbab53952f0
    health_check: null
    id: 96e3aa2331f0
    image: redis:6.0
    labels:
      com.docker.compose.config-hash: 69fbb87e1c7a9871434f3c301afc5ffa5a14b765a1f996e8bc9640539b1a3c24
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:67dd041c7103e7fa01d22030d17960ad1375a8938087e104236080b45cdaa8f1
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: paperless
      com.docker.compose.project.config_files: /srv/dev-disk-by-uuid-0f772f0b-917d-4337-a3c5-5cc5d3badac9/docker-compose/paperless/paperless.yml,/srv/dev-disk-by-uuid-0f772f0b-917d-4337-a3c5-5cc5d3badac9/docker-compose/paperless/docker-compose.override.yml
      com.docker.compose.project.working_dir: /srv/dev-disk-by-uuid-0f772f0b-917d-4337-a3c5-5cc5d3badac9/docker-compose/paperless
      com.docker.compose.service: broker
      com.docker.compose.version: 2.39.1
    migration_complexity: medium
    name: paperless-broker-1
    network_mode: paperless_default
    networks:
    - paperless_default
    ports: *id082
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes:
    - destination: /data
      name: paperless_redisdata
      read_write: true
      source: /var/lib/docker/volumes/paperless_redisdata/_data
  - bind_mounts:
    - destination: /opt/adguardhome/conf
      read_write: true
      source: /opt/adguard/conf
    - destination: /opt/adguardhome/work
      read_write: true
      source: /opt/adguard/work
    category: dns_dhcp
    created: '2025-08-21T06:00:22.145942664Z'
    depends_on: *id083
    device: omv800.local
    environment:
    - TZ=America/New_York
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check: null
    id: b2bfdf99ae69
    image: adguard/adguardhome:latest
    labels:
      com.docker.compose.config-hash: 08fb12aecf964128d96a3957da215b8b8bc2b3d92ec3f641574e67a6a22426ce
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:9f4ef14c247b96b97d0ab42f3101528b466111dac41eee1224b564ab9722e178
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: unbound_adguard
      com.docker.compose.project.config_files: ''
      com.docker.compose.project.working_dir: /data/compose/71/v7
      com.docker.compose.service: adguardhome
      com.docker.compose.version: ''
      maintainer: AdGuard Team <devteam@adguard.com>
      org.opencontainers.image.authors: AdGuard Team <devteam@adguard.com>
      org.opencontainers.image.created: '2025-08-20T12:59:00Z'
      org.opencontainers.image.description: Network-wide ads & trackers blocking DNS
        server
      org.opencontainers.image.documentation: https://github.com/AdguardTeam/AdGuardHome/wiki/
      org.opencontainers.image.licenses: GPL-3.0
      org.opencontainers.image.revision: ebf33e7782f1de4f6e8d320f183b1d17de295edd
      org.opencontainers.image.source: https://github.com/AdguardTeam/AdGuardHome
      org.opencontainers.image.title: AdGuard Home
      org.opencontainers.image.url: https://adguard.com/en/adguard-home/overview.html
      org.opencontainers.image.vendor: AdGuard
      org.opencontainers.image.version: v0.107.65
    migration_complexity: low
    name: adguardhome
    network_mode: host
    networks:
    - host
    ports: *id084
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: running
    volumes: []
  - bind_mounts: []
    category: document_management
    created: '2025-08-21T18:54:59.432835341Z'
    depends_on: *id085
    device: omv800.local
    environment:
    - POSTGRES_PASSWORD=paperless
    - PGDATA=/var/lib/postgresql/data/pgdata
    - TZ=America/New_York
    - POSTGRES_DB=paperless
    - POSTGRES_USER=paperless
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/13/bin
    - GOSU_VERSION=1.17
    - LANG=en_US.utf8
    - PG_MAJOR=13
    - PG_VERSION=13.22-1.pgdg13+1
    health_check: null
    id: bd16ae38100f
    image: postgres:13
    labels:
      com.docker.compose.config-hash: 15b8c944faef8cad7853848f35ad1badb9f1729282a59937f1dc4770fe1ac945
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:645e932c27f7053bda80391da99f0f9d1edda8808ede7c6d742ae4263638ec1a
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: paperless
      com.docker.compose.project.config_files: /srv/dev-disk-by-uuid-0f772f0b-917d-4337-a3c5-5cc5d3badac9/docker-compose/paperless/paperless.yml
      com.docker.compose.project.working_dir: /srv/dev-disk-by-uuid-0f772f0b-917d-4337-a3c5-5cc5d3badac9/docker-compose/paperless
      com.docker.compose.replace: db-1
      com.docker.compose.service: db
      com.docker.compose.version: 2.39.1
    migration_complexity: medium
    name: paperless-db-1
    network_mode: paperless_default
    networks:
    - paperless_default
    ports: *id086
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: unless-stopped
    state: restarting
    volumes:
    - destination: /var/lib/postgresql/data
      name: paperless_pgdata
      read_write: true
      source: /var/lib/docker/volumes/paperless_pgdata/_data
  - bind_mounts: []
    category: photo_management
    created: '2025-08-23T06:09:20.087906848Z'
    depends_on: *id087
    device: omv800.local
    environment:
    - TZ=America/New_York
    - PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - LANG=C.UTF-8
    - GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D
    - PYTHON_VERSION=3.11.13
    - PYTHON_SHA256=8fb5f9fbc7609fa822cb31549884575db7fd9657cbffb89510b5d7975963a83a
    - LD_PRELOAD=/usr/lib/libmimalloc.so.2
    - TRANSFORMERS_CACHE=/cache
    - PYTHONDONTWRITEBYTECODE=1
    - PYTHONUNBUFFERED=1
    - PYTHONPATH=/usr/src
    - DEVICE=cpu
    - VIRTUAL_ENV=/opt/venv
    - MACHINE_LEARNING_CACHE_FOLDER=/cache
    - IMMICH_BUILD=17162633807
    - IMMICH_BUILD_URL=https://github.com/immich-app/immich/actions/runs/17162633807
    - IMMICH_BUILD_IMAGE=v1.139.2
    - IMMICH_BUILD_IMAGE_URL=https://github.com/immich-app/immich/pkgs/container/immich-machine-learning
    - IMMICH_REPOSITORY=immich-app/immich
    - IMMICH_REPOSITORY_URL=https://github.com/immich-app/immich
    - IMMICH_SOURCE_REF=v1.139.2
    - IMMICH_SOURCE_COMMIT=571504aa5e691ee76edc8706f426d1d49aafa7a8
    - IMMICH_SOURCE_URL=https://github.com/immich-app/immich/commit/571504aa5e691ee76edc8706f426d1d49aafa7a8
    health_check:
      interval: 0
      retries: 0
      test:
      - CMD-SHELL
      - python3 healthcheck.py
      timeout: 0
    id: 801fe8a5d397
    image: ghcr.io/immich-app/immich-machine-learning:release
    labels:
      com.docker.compose.config-hash: c6927d67121fb8e7a221615ad54be052857250bda952fa8c5da6e043f097e93f
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:a79f26b9776125f8fe4ae95b84c44abf36813629f531853bde2a5225e6f0b977
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: immich
      com.docker.compose.project.config_files: /srv/mergerfs/presscloud/docker/immich/immich.yml
      com.docker.compose.project.working_dir: /srv/mergerfs/presscloud/docker/immich
      com.docker.compose.service: immich-machine-learning
      com.docker.compose.version: 2.39.1
      org.opencontainers.image.created: '2025-08-22T18:08:25.680Z'
      org.opencontainers.image.description: High performance self-hosted photo and
        video management solution.
      org.opencontainers.image.licenses: AGPL-3.0
      org.opencontainers.image.revision: 571504aa5e691ee76edc8706f426d1d49aafa7a8
      org.opencontainers.image.source: https://github.com/immich-app/immich
      org.opencontainers.image.title: immich
      org.opencontainers.image.url: https://github.com/immich-app/immich
      org.opencontainers.image.version: v1.139.2
    migration_complexity: medium
    name: immich_machine_learning
    network_mode: immich_default
    networks:
    - immich_default
    ports: *id088
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: always
    state: running
    volumes:
    - destination: /cache
      name: immich_model-cache
      read_write: true
      source: /var/lib/docker/volumes/immich_model-cache/_data
  surface:
  - bind_mounts: []
    category: development
    created: '2025-08-18T18:12:12.5058454Z'
    depends_on: *id089
    device: surface
    environment:
    - MINIO_ROOT_USER=minioadmin
    - MINIO_ROOT_PASSWORD=minioadmin
    - MINIO_BROWSER_REDIRECT_URL=https://appflowy-server.pressmess.duckdns.org/minio
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - MINIO_ACCESS_KEY_FILE=access_key
    - MINIO_SECRET_KEY_FILE=secret_key
    - MINIO_ROOT_USER_FILE=access_key
    - MINIO_ROOT_PASSWORD_FILE=secret_key
    - MINIO_KMS_SECRET_KEY_FILE=kms_master_key
    - MINIO_UPDATE_MINISIGN_PUBKEY=RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav
    - MINIO_CONFIG_ENV_FILE=config.env
    - MC_CONFIG_DIR=/tmp/.mc
    health_check: null
    id: 94e3faba6f61
    image: minio/minio
    labels:
      architecture: x86_64
      build-date: '2025-07-17T11:29:46'
      com.docker.compose.config-hash: dde151bfad8adf0ad7078ba9db3b244022eaa9ed3b9525468d2152c333049b50
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:a98a9d647e700e45c1d3d2e44709f23952a39c199731d84e623eb558fd5501f4
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.service: minio
      com.docker.compose.version: 2.33.1
      com.redhat.component: ubi9-micro-container
      com.redhat.license_terms: https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI
      description: MinIO object storage is fundamentally different. Designed for performance
        and the S3 API, it is 100% open-source. MinIO is ideal for large, private
        cloud environments with stringent security requirements and delivers mission-critical
        availability across a diverse range of workloads.
      distribution-scope: public
      io.buildah.version: 1.41.0-dev
      io.k8s.description: Very small image which doesn't install the package manager.
      io.k8s.display-name: Red Hat Universal Base Image 9 Micro
      io.openshift.expose-services: ''
      maintainer: MinIO Inc <dev@min.io>
      name: MinIO
      release: RELEASE.2025-07-23T15-54-02Z
      summary: MinIO is a High Performance Object Storage, API compatible with Amazon
        S3 cloud storage service.
      url: https://www.redhat.com
      vcs-ref: 52e5685a2b36133581f9e47c9e0b896cf3cbffc0
      vcs-type: git
      vendor: MinIO Inc <dev@min.io>
      version: RELEASE.2025-07-23T15-54-02Z
    migration_complexity: low
    name: appflowy-cloud-minio-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id090
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes:
    - destination: /data
      name: appflowy-cloud_minio_data
      read_write: true
      source: /var/snap/docker/common/var-lib-docker/volumes/appflowy-cloud_minio_data/_data
  - bind_mounts: []
    category: database
    created: '2025-08-19T15:05:34.491539565Z'
    depends_on: *id091
    device: surface
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-8.2.1.tar.gz
    - REDIS_DOWNLOAD_SHA=e2c1cb9dd4180a35b943b85dfc7dcdd42566cdbceca37d0d0b14c21731582d3e
    health_check: null
    id: 945e7a7870e6
    image: redis
    labels:
      com.docker.compose.config-hash: 7e7b06caa911fd62945b3aac14c9cacbe42b8a7c63f41284a6a334802d18ac9c
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:9d1fe3a9a889c69d0b4febf6affb4a8d90213cc35196e11d379c87a753658ff1
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.replace: 2825ed51189cae306a12f582ec394909948fbbe75c3f003c434868f91dc502c0
      com.docker.compose.service: redis
      com.docker.compose.version: 2.33.1
    migration_complexity: medium
    name: appflowy-cloud-redis-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id092
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes:
    - destination: /data
      name: 69e0a0fa40952877d5a108115edcd031cd4078e859b8eee84caa644903cc3f11
      read_write: true
      source: /var/snap/docker/common/var-lib-docker/volumes/69e0a0fa40952877d5a108115edcd031cd4078e859b8eee84caa644903cc3f11/_data
  - bind_mounts: []
    category: development
    created: '2025-08-19T15:06:05.978903637Z'
    depends_on: *id093
    device: surface
    environment:
    - GOTRUE_MAILER_URLPATHS_RECOVERY=/gotrue/verify
    - API_EXTERNAL_URL=https://appflowy-server.pressmess.duckdns.org/gotrue
    - GOTRUE_EXTERNAL_GOOGLE_CLIENT_ID=
    - GOTRUE_SMTP_PASS=email_sender_password
    - GOTRUE_SAML_PRIVATE_KEY=
    - GOTRUE_EXTERNAL_GITHUB_ENABLED=false
    - GOTRUE_RATE_LIMIT_EMAIL_SENT=100
    - DATABASE_URL=postgres://postgres:password@postgres:5432/postgres?search_path=auth
    - GOTRUE_MAILER_TEMPLATES_MAGIC_LINK=
    - GOTRUE_SMTP_MAX_FREQUENCY=1ns
    - GOTRUE_ADMIN_EMAIL=admin@example.com
    - GOTRUE_EXTERNAL_GITHUB_REDIRECT_URI=https://appflowy-server.pressmess.duckdns.org/gotrue/callback
    - GOTRUE_MAILER_URLPATHS_EMAIL_CHANGE=/gotrue/verify
    - GOTRUE_SAML_ENABLED=false
    - GOTRUE_MAILER_URLPATHS_CONFIRMATION=/gotrue/verify
    - GOTRUE_JWT_SECRET=hello456
    - GOTRUE_EXTERNAL_GOOGLE_SECRET=
    - GOTRUE_DB_DRIVER=postgres
    - GOTRUE_EXTERNAL_DISCORD_REDIRECT_URI=https://appflowy-server.pressmess.duckdns.org/gotrue/callback
    - GOTRUE_EXTERNAL_DISCORD_ENABLED=false
    - GOTRUE_DISABLE_SIGNUP=false
    - GOTRUE_JWT_ADMIN_GROUP_NAME=supabase_admin
    - GOTRUE_SMTP_HOST=smtp.gmail.com
    - GOTRUE_EXTERNAL_GOOGLE_REDIRECT_URI=https://appflowy-server.pressmess.duckdns.org/gotrue/callback
    - GOTRUE_EXTERNAL_GITHUB_CLIENT_ID=
    - GOTRUE_MAILER_URLPATHS_INVITE=/gotrue/verify
    - GOTRUE_SMTP_ADMIN_EMAIL=comp_admin@some_company.com
    - PORT=9999
    - GOTRUE_SMTP_PORT=465
    - GOTRUE_ADMIN_PASSWORD=password
    - GOTRUE_JWT_EXP=2592000
    - GOTRUE_EXTERNAL_GITHUB_SECRET=
    - GOTRUE_EXTERNAL_DISCORD_SECRET=
    - GOTRUE_SMTP_USER=email_sender@some_company.com
    - GOTRUE_SITE_URL=appflowy-flutter://
    - GOTRUE_EXTERNAL_DISCORD_CLIENT_ID=
    - GOTRUE_URI_ALLOW_LIST=**
    - GOTRUE_MAILER_AUTOCONFIRM=true
    - GOTRUE_EXTERNAL_GOOGLE_ENABLED=false
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    health_check:
      interval: 5
      retries: 12
      test:
      - CMD-SHELL
      - curl --fail http://127.0.0.1:9999/health || exit 1
      timeout: 5
    id: f53ebe855678
    image: appflowyinc/gotrue:latest
    labels:
      com.docker.compose.config-hash: b7fc06d2df37a5f925f511f8976e9b21e26e658aa7bdcf553eb4f25481d8539b
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: postgres:service_healthy:false
      com.docker.compose.image: sha256:bf732ca3af0185c5b821d57d67ad4fe7811f9907869cca248dcb4c67f21aebb3
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.replace: 61ff8b6b16329a4f8760937a6d005112b68611ea9f6fe3e0c244dc87715c91f1
      com.docker.compose.service: gotrue
      com.docker.compose.version: 2.33.1
    migration_complexity: low
    name: appflowy-cloud-gotrue-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id094
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes: []
  - bind_mounts: []
    category: development
    created: '2025-08-18T18:12:13.05536386Z'
    depends_on: *id095
    device: surface
    environment:
    - ADMIN_FRONTEND_APPFLOWY_CLOUD_URL=http://appflowy_cloud:8000
    - ADMIN_FRONTEND_PATH_PREFIX=/console
    - RUST_LOG=info
    - ADMIN_FRONTEND_REDIS_URL=redis://redis:6379
    - ADMIN_FRONTEND_GOTRUE_URL=http://gotrue:9999
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - RUST_BACKTRACE=1
    - PORT=3000
    health_check: null
    id: fbb230028036
    image: appflowyinc/admin_frontend:latest
    labels:
      com.docker.compose.config-hash: a041587e59c3151fa7e407392311c54c9d036dd92b8d4e8738a00e7f96be7f51
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: appflowy_cloud:service_started:false,gotrue:service_healthy:false
      com.docker.compose.image: sha256:126b0d036d5aa7f08d54fedbcca6a730f3a6e7dc30d89e7ed368874af7220b4c
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.service: admin_frontend
      com.docker.compose.version: 2.33.1
      org.opencontainers.image.created: '2025-07-04T03:05:59.693Z'
      org.opencontainers.image.description: Bring projects, wikis, and teams together
        with AI. AppFlowy is the AI collaborative workspace where you achieve more
        without losing control of your data. The leading open source Notion alternative.
      org.opencontainers.image.licenses: AGPL-3.0
      org.opencontainers.image.revision: ecf8c031d3c955508a0d3887acd61d970022db79
      org.opencontainers.image.source: https://github.com/AppFlowy-IO/AppFlowy-Cloud
      org.opencontainers.image.title: AppFlowy-Cloud
      org.opencontainers.image.url: https://github.com/AppFlowy-IO/AppFlowy-Cloud
      org.opencontainers.image.version: 0.9.64
    migration_complexity: low
    name: appflowy-cloud-admin_frontend-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id096
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes: []
  - bind_mounts: []
    category: development
    created: '2025-08-19T15:05:45.133317346Z'
    depends_on: *id097
    device: surface
    environment:
    - POSTGRES_HOST=postgres
    - POSTGRES_USER=postgres
    - POSTGRES_DB=postgres
    - POSTGRES_PASSWORD=password
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/16/bin
    - GOSU_VERSION=1.17
    - LANG=en_US.utf8
    - PG_MAJOR=16
    - PG_VERSION=16.10-1.pgdg12+1
    - PGDATA=/var/lib/postgresql/data
    health_check:
      interval: 5
      retries: 12
      test:
      - CMD
      - pg_isready
      - -U
      - postgres
      - -d
      - postgres
      timeout: 5
    id: eaf6e00f87eb
    image: pgvector/pgvector:pg16
    labels:
      com.docker.compose.config-hash: 85f6bb0293d9ae5704eb615659aef722a4288e0ca9dbc764a9f4928430ca9150
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:56a5b20c7a157dbb94149ba3cce70da76f02e1645dec234379709ddaebe607ea
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.replace: cfb85645459e629839140e4916580cb60e85221852b25782436eeac2017c23dd
      com.docker.compose.service: postgres
      com.docker.compose.version: 2.33.1
    migration_complexity: low
    name: appflowy-cloud-postgres-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id098
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes:
    - destination: /var/lib/postgresql/data
      name: appflowy-cloud_postgres_data
      read_write: true
      source: /var/snap/docker/common/var-lib-docker/volumes/appflowy-cloud_postgres_data/_data
  - bind_mounts:
    - destination: /etc/nginx/ssl/certificate.crt
      read_write: true
      source: /home/jon/AppFlowy-Cloud/nginx/ssl/certificate.crt
    - destination: /etc/nginx/ssl/private_key.key
      read_write: true
      source: /home/jon/AppFlowy-Cloud/nginx/ssl/private_key.key
    - destination: /etc/nginx/nginx.conf
      read_write: true
      source: /home/jon/AppFlowy-Cloud/nginx/nginx.conf
    category: reverse_proxy
    created: '2025-08-18T18:12:12.508924749Z'
    depends_on: *id099
    device: surface
    environment:
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NGINX_VERSION=1.29.1
    - NJS_VERSION=0.9.1
    - NJS_RELEASE=1~bookworm
    - PKG_RELEASE=1~bookworm
    - DYNPKG_RELEASE=1~bookworm
    health_check: null
    id: a510d304028a
    image: nginx
    labels:
      com.docker.compose.config-hash: cf0835397794edb97c71b6cd86091eaa934dd6b80b66c37e9e5b31545eba99e4
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: ''
      com.docker.compose.image: sha256:ad5708199ec7d169c6837fe46e1646603d0f7d0a0f54d3cd8d07bc1c818d0224
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.service: nginx
      com.docker.compose.version: 2.33.1
      maintainer: NGINX Docker Maintainers <docker-maint@nginx.com>
    migration_complexity: low
    name: appflowy-cloud-nginx-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id100
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes: []
  - bind_mounts: []
    category: development
    created: '2025-08-19T15:09:16.957108475Z'
    depends_on: *id101
    device: surface
    environment:
    - AF_BASE_URL=https://appflowy-server.pressmess.duckdns.org
    - AF_GOTRUE_URL=https://appflowy-server.pressmess.duckdns.org/gotrue
    - AF_WS_V2_URL=wss://appflowy-server.pressmess.duckdns.org/ws/v2
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - NGINX_VERSION=1.29.1
    - PKG_RELEASE=1
    - DYNPKG_RELEASE=1
    - NJS_VERSION=0.9.1
    - NJS_RELEASE=1
    health_check: null
    id: a88fe8e82d82
    image: appflowyinc/appflowy_web:latest
    labels:
      com.docker.compose.config-hash: 8b429f250e990767218aff496cbbcdda6a461c731fe015c99d8696f3b6fc593c
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: appflowy_cloud:service_started:false
      com.docker.compose.image: sha256:bde5c053a8e0543f74adc68f3014179b4bb6218a885d9298a1621f996a7ca0a9
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.service: appflowy_web
      com.docker.compose.version: 2.33.1
      maintainer: NGINX Docker Maintainers <docker-maint@nginx.com>
      org.opencontainers.image.created: '2025-08-18T13:21:26.458Z'
      org.opencontainers.image.description: ''
      org.opencontainers.image.licenses: ''
      org.opencontainers.image.revision: 59b70b09b24b18e94d50e381f1e4d6f964581dfa
      org.opencontainers.image.source: https://github.com/AppFlowy-IO/AppFlowy-Docker-CI
      org.opencontainers.image.title: AppFlowy-Docker-CI
      org.opencontainers.image.url: https://github.com/AppFlowy-IO/AppFlowy-Docker-CI
      org.opencontainers.image.version: main
    migration_complexity: low
    name: appflowy-cloud-appflowy_web-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id102
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes: []
  - bind_mounts: []
    category: development
    created: '2025-08-18T18:12:12.752503142Z'
    depends_on: *id103
    device: surface
    environment:
    - APPFLOWY_WORKER_ENVIRONMENT=production
    - APPFLOWY_S3_BUCKET=appflowy
    - APPFLOWY_MAILER_SMTP_TLS_KIND=wrapper
    - APPFLOWY_MAILER_SMTP_USERNAME=email_sender@some_company.com
    - RUST_LOG=info
    - APPFLOWY_MAILER_SMTP_HOST=smtp.gmail.com
    - APPFLOWY_WORKER_IMPORT_TICK_INTERVAL=30
    - APPFLOWY_MAILER_SMTP_EMAIL=email_sender@some_company.com
    - APPFLOWY_MAILER_SMTP_PORT=465
    - APPFLOWY_WORKER_DATABASE_URL=postgres://postgres:password@postgres:5432/postgres
    - APPFLOWY_S3_MINIO_URL=http://minio:9000
    - APPFLOWY_ENVIRONMENT=production
    - APPFLOWY_WORKER_DATABASE_NAME=postgres
    - APPFLOWY_MAILER_SMTP_PASSWORD=email_sender_password
    - APPFLOWY_S3_USE_MINIO=true
    - APPFLOWY_WORKER_REDIS_URL=redis://redis:6379
    - APPFLOWY_S3_REGION=
    - APPFLOWY_S3_SECRET_KEY=minioadmin
    - APPFLOWY_S3_ACCESS_KEY=minioadmin
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - APP_ENVIRONMENT=production
    - RUST_BACKTRACE=1
    health_check: null
    id: 9b8bd25bf6ab
    image: appflowyinc/appflowy_worker:latest
    labels:
      com.docker.compose.config-hash: 66cdd1c6371d209d3ef4af269f19f0f99ac36f9f6826bcf85e171c0979678bdd
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: postgres:service_healthy:false
      com.docker.compose.image: sha256:5b04758e9a719482695e350dfed3e91a29dd5ecf4c300d86ea6f223416be4312
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.service: appflowy_worker
      com.docker.compose.version: 2.33.1
      org.opencontainers.image.created: '2025-08-15T12:42:38.338Z'
      org.opencontainers.image.description: ''
      org.opencontainers.image.licenses: ''
      org.opencontainers.image.revision: 5b2233ac9bdd0e6d8d94eacf971fa9d2ff85be47
      org.opencontainers.image.source: https://github.com/AppFlowy-IO/AppFlowy-CI
      org.opencontainers.image.title: AppFlowy-CI
      org.opencontainers.image.url: https://github.com/AppFlowy-IO/AppFlowy-CI
      org.opencontainers.image.version: main
    migration_complexity: low
    name: appflowy-cloud-appflowy_worker-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id104
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes: []
  - bind_mounts: []
    category: development
    created: '2025-08-20T03:18:51.277663347Z'
    depends_on: *id105
    device: surface
    environment:
    - APPFLOWY_MAILER_SMTP_PASSWORD=email_sender_password
    - APPFLOWY_BASE_URL=https://appflowy-server.pressmess.duckdns.org
    - APPFLOWY_GOTRUE_BASE_URL=http://gotrue:9999
    - APPFLOWY_MAILER_SMTP_PORT=465
    - APPFLOWY_S3_BUCKET=appflowy
    - APPFLOWY_S3_REGION=
    - AI_SERVER_HOST=ai
    - APPFLOWY_MAILER_SMTP_TLS_KIND=wrapper
    - APPFLOWY_DATABASE_MAX_CONNECTIONS=40
    - APPFLOWY_S3_MINIO_URL=http://minio:9000
    - AI_OPENAI_API_KEY=
    - AI_SERVER_PORT=5001
    - APPFLOWY_S3_SECRET_KEY=minioadmin
    - APPFLOWY_WEB_URL=https://appflowy-server.pressmess.duckdns.org
    - APPFLOWY_S3_PRESIGNED_URL_ENDPOINT=
    - RUST_LOG=info
    - APPFLOWY_DATABASE_URL=postgres://postgres:password@postgres:5432/postgres
    - APPFLOWY_MAILER_SMTP_USERNAME=email_sender@some_company.com
    - APPFLOWY_S3_ACCESS_KEY=minioadmin
    - APPFLOWY_ENVIRONMENT=production
    - APPFLOWY_REDIS_URI=redis://redis:6379
    - APPFLOWY_GOTRUE_JWT_EXP=2592000
    - APPFLOWY_GOTRUE_JWT_SECRET=hello456
    - APPFLOWY_MAILER_SMTP_EMAIL=email_sender@some_company.com
    - APPFLOWY_ACCESS_CONTROL=true
    - APPFLOWY_S3_USE_MINIO=true
    - APPFLOWY_MAILER_SMTP_HOST=smtp.gmail.com
    - APPFLOWY_S3_CREATE_BUCKET=true
    - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    - APP_ENVIRONMENT=production
    - RUST_BACKTRACE=1
    - PORT=8000
    health_check: null
    id: 583f3ad123c4
    image: appflowyinc/appflowy_cloud:latest
    labels:
      com.docker.compose.config-hash: 9962c3ce29442d948b524df280307d058b4f65155185a22cb8f9144f83ec430f
      com.docker.compose.container-number: '1'
      com.docker.compose.depends_on: gotrue:service_healthy:false
      com.docker.compose.image: sha256:1cb46cf2e7e9f40a45b2846048badeed9006d6059dec6e599ff9403b83280253
      com.docker.compose.oneoff: 'False'
      com.docker.compose.project: appflowy-cloud
      com.docker.compose.project.config_files: /home/jon/AppFlowy-Cloud/docker-compose.yml
      com.docker.compose.project.working_dir: /home/jon/AppFlowy-Cloud
      com.docker.compose.replace: c74355f4992768b91cc1c4e296581638dd571df9dfcb0cb100d8de28a66ed3a3
      com.docker.compose.service: appflowy_cloud
      com.docker.compose.version: 2.33.1
      org.opencontainers.image.created: '2025-08-16T06:00:23.570Z'
      org.opencontainers.image.description: ''
      org.opencontainers.image.licenses: ''
      org.opencontainers.image.revision: 5b2233ac9bdd0e6d8d94eacf971fa9d2ff85be47
      org.opencontainers.image.source: https://github.com/AppFlowy-IO/AppFlowy-CI
      org.opencontainers.image.title: AppFlowy-CI
      org.opencontainers.image.url: https://github.com/AppFlowy-IO/AppFlowy-CI
      org.opencontainers.image.version: main
    migration_complexity: low
    name: appflowy-cloud-appflowy_cloud-1
    network_mode: appflowy-cloud_default
    networks:
    - appflowy-cloud_default
    ports: *id106
    resource_limits:
      cpu_shares: 0
      memory: 0
      nano_cpus: 0
    restart_policy: on-failure
    state: running
    volumes: []
summary:
  categories:
    cloud_storage: 3
    code_repository: 1
    database: 4
    development: 8
    dns_dhcp: 2
    document_management: 5
    home_automation: 1
    iot_management: 2
    media_streaming: 1
    messaging_broker: 1
    monitoring: 9
    other: 13
    photo_management: 2
    reverse_proxy: 1
  devices: 6
  total_containers: 53
