rtCamp / Frappe-Manager

A CLI tool based on Docker Compose to easily manage Frappe based projects.
MIT License
109 stars 23 forks source link

Error when using update command to change developer mode settings #226

Open shivamsn97 opened 1 month ago

shivamsn97 commented 1 month ago

Describe the bug

To Reproduce Steps to reproduce the behavior:

  1. Create a new site without enabling developer mode at creation: fm create test-site
  2. Run command fm update --developer-mode enable test-site
  3. Developer-mode will be enabled in test-site, but the command will show an error ❌ Error Occured 'NoneType' object has no attribute 'value'.

Expected behaviour

System information (please complete the following information):

Attach log

[2024-08-06 12:30:32,703] INFO: ::::::::::::::::::::FM Invoked::::::::::::::::::::
[2024-08-06 12:30:32,703] INFO:
[2024-08-06 12:30:32,703] INFO: RUNNING COMMAND: update --developer-mode enable library.localhost
[2024-08-06 12:30:32,703] INFO: --------------------
[2024-08-06 12:30:32,703] DEBUG: - -- -- -- -- -- -- -- -- -- -
[2024-08-06 12:30:32,703] DEBUG: DOCKER COMMAND: docker version --format json
[2024-08-06 12:30:32,724] DEBUG: {"Client":{"Version":"27.1.1","ApiVersion":"1.46","DefaultAPIVersion":"1.46","GitCommit":"6312585","GoVersion":"go1.21.12","Os":"darwin","Arch":"arm64","BuildTime":"Tue Jul 23 19:54:12 2024","Context":"desktop-linux"},"Server":{"Platform":{"Name":"Docker Desktop 4.33.0 (160616)"},"Components":[{"Name":"Engine","Version":"27.1.1","Details":{"ApiVersion":"1.46","Arch":"arm64","BuildTime":"Tue Jul 23 19:57:14 2024","Experimental":"false","GitCommit":"cc13f95","GoVersion":"go1.21.12","KernelVersion":"6.10.0-linuxkit","MinAPIVersion":"1.24","Os":"linux"}},{"Name":"containerd","Version":"1.7.19","Details":{"GitCommit":"2bf793ef6dc9a18e00cb12efb64355c2c9d5eb41"}},{"Name":"runc","Version":"1.7.19","Details":{"GitCommit":"v1.1.13-0-g58aa920"}},{"Name":"docker-init","Version":"0.19.0","Details":{"GitCommit":"de40ad0"}}],"Version":"27.1.1","ApiVersion":"1.46","MinAPIVersion":"1.24","GitCommit":"cc13f95","GoVersion":"go1.21.12","Os":"linux","Arch":"arm64","KernelVersion":"6.10.0-linuxkit","BuildTime":"2024-07-23T19:57:14.000000000+00:00"}}
[2024-08-06 12:30:32,725] DEBUG: RETURN CODE: 0
[2024-08-06 12:30:32,725] DEBUG: - -- -- -- -- -- -- -- -- -- -
[2024-08-06 12:30:32,735] DEBUG: - -- -- -- -- -- -- -- -- -- -
[2024-08-06 12:30:32,735] DEBUG: DOCKER COMMAND: docker compose -f /Users/shivam/frappe/services/docker-compose.yml ps --all --format json global-db global-nginx-proxy
[2024-08-06 12:30:32,788] DEBUG: {"Command":"\"docker-entrypoint.s…\"","CreatedAt":"2024-08-06 12:25:00 +0530 IST","ExitCode":0,"Health":"","ID":"e798c745459d","Image":"mariadb:10.6","Labels":"desktop.docker.io/mounts/1/Target=/run/secrets/db_root_password,org.opencontainers.image.ref.name=ubuntu,org.opencontainers.image.vendor=MariaDB Community,desktop.docker.io/binds/0/SourceKind=hostFile,desktop.docker.io/binds/0/Target=/etc/mysql,org.opencontainers.image.description=MariaDB Database for relational SQL,desktop.docker.io/mounts/1/Source=/Users/shivam/frappe/services/secrets/db_root_password.txt,com.docker.compose.container-number=1,desktop.docker.io/binds/0/Source=/Users/shivam/frappe/services/mariadb/conf,desktop.docker.io/mounts/0/Source=/Users/shivam/frappe/services/secrets/db_password.txt,org.opencontainers.image.authors=MariaDB Community,com.docker.compose.config-hash=42ad0cdba84f8ce473d3e58bb90ddc8ecaa626d8640551cf75e4bc2ebe61978f,com.docker.compose.project=services,desktop.docker.io/binds/1/Source=/Users/shivam/frappe/services/mariadb/logs,org.opencontainers.image.version=10.6.18,desktop.docker.io/mounts/0/SourceKind=hostFile,org.opencontainers.image.base.name=docker.io/library/ubuntu:focal,org.opencontainers.image.source=https://github.com/MariaDB/mariadb-docker,org.opencontainers.image.licenses=GPL-2.0,com.docker.compose.project.working_dir=/Users/shivam/frappe/services,com.docker.compose.service=global-db,desktop.docker.io/binds/1/SourceKind=hostFile,org.opencontainers.image.documentation=https://hub.docker.com/_/mariadb/,com.docker.compose.oneoff=False,com.docker.compose.version=2.29.1,desktop.docker.io/mounts/1/SourceKind=hostFile,desktop.docker.io/binds/1/Target=/var/log/mysql,desktop.docker.io/mounts/0/Target=/run/secrets/db_password,org.opencontainers.image.title=MariaDB Database,org.opencontainers.image.url=https://github.com/MariaDB/mariadb-docker,com.docker.compose.depends_on=,com.docker.compose.image=sha256:6601545644c70aab0e48c36402529d51a3d7b1d1d7c31d6fba1cd016e2b72ce2,com.docker.compose.project.config_files=/Users/shivam/frappe/services/docker-compose.yml","LocalVolumes":"1","Mounts":"services_fm-gl…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…","Name":"fm_global-db","Names":"fm_global-db","Networks":"fm-global-backend-network","Ports":"3306/tcp","Project":"services","Publishers":[{"URL":"","TargetPort":3306,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"global-db","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,788] DEBUG: {"Command":"\"/app/docker-entrypo…\"","CreatedAt":"2024-08-06 12:25:00 +0530 IST","ExitCode":0,"Health":"","ID":"a124b737e113","Image":"jwilder/nginx-proxy:1.6","Labels":"com.docker.compose.service=global-nginx-proxy,desktop.docker.io/binds/7/SourceKind=hostFile,desktop.docker.io/binds/8/Target=/usr/share/nginx/html,desktop.docker.io/binds/10/Source=/Users/shivam/frappe/services/nginx-proxy/cache,maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e,com.docker.compose.project=services,com.docker.compose.version=2.29.1,desktop.docker.io/binds/2/Target=/etc/nginx/htpasswd,desktop.docker.io/binds/5/Source=/var/run/docker.sock,desktop.docker.io/binds/5/Target=/tmp/docker.sock,org.opencontainers.image.version=1.6.0,desktop.docker.io/binds/0/Target=/etc/nginx/dhparam,desktop.docker.io/binds/1/SourceKind=hostFile,desktop.docker.io/binds/3/SourceKind=hostFile,desktop.docker.io/binds/4/Target=/var/run,desktop.docker.io/binds/8/Source=/Users/shivam/frappe/services/nginx-proxy/html,desktop.docker.io/binds/9/SourceKind=hostFile,desktop.docker.io/binds/2/SourceKind=hostFile,desktop.docker.io/binds/4/SourceKind=hostFile,desktop.docker.io/binds/7/Target=/etc/nginx/vhost.d,org.opencontainers.image.title=nginx-proxy,org.opencontainers.image.url=https://github.com/nginx-proxy/nginx-proxy,com.docker.compose.container-number=1,com.docker.compose.project.working_dir=/Users/shivam/frappe/services,desktop.docker.io/binds/0/SourceKind=hostFile,desktop.docker.io/binds/5/SourceKind=dockerSocketProxied,org.opencontainers.image.authors=Nicolas Duchon \u003cnicolas.duchon@gmail.com\u003e (@buchdag), Jason Wilder,com.docker.compose.oneoff=False,desktop.docker.io/binds/1/Source=/Users/shivam/frappe/services/nginx-proxy/confd,desktop.docker.io/binds/3/Source=/Users/shivam/frappe/services/nginx-proxy/logs,com.docker.compose.image=sha256:e67fd6c7bf629a6a1159cac1fa11a919603809ea6068df5b4cdee21aa9390e1c,desktop.docker.io/binds/3/Target=/var/log/nginx,desktop.docker.io/binds/10/Target=/var/cache/nginx,org.opencontainers.image.created=2024-06-06T12:27:54.225Z,org.opencontainers.image.source=https://github.com/nginx-proxy/nginx-proxy,desktop.docker.io/binds/10/SourceKind=hostFile,desktop.docker.io/binds/4/Source=/Users/shivam/frappe/services/nginx-proxy/run,desktop.docker.io/binds/6/SourceKind=hostFile,org.opencontainers.image.licenses=MIT,com.docker.compose.config-hash=16d9537196bf3eb4f7d7d8f635a7bd98e1e3e1f0908612cadd77f2f4176194e0,desktop.docker.io/binds/6/Target=/etc/nginx/certs,desktop.docker.io/binds/7/Source=/Users/shivam/frappe/services/nginx-proxy/vhostd,desktop.docker.io/binds/8/SourceKind=hostFile,desktop.docker.io/binds/9/Source=/Users/shivam/frappe/services/nginx-proxy/ssl,org.opencontainers.image.description=Automated nginx proxy for Docker containers using docker-gen,com.docker.compose.depends_on=,desktop.docker.io/binds/1/Target=/etc/nginx/conf.d,org.opencontainers.image.revision=50608d7826d6b3ca89a3f2d3d1e2290365bee1fe,com.docker.compose.project.config_files=/Users/shivam/frappe/services/docker-compose.yml,desktop.docker.io/binds/0/Source=/Users/shivam/frappe/services/nginx-proxy/dhparam,desktop.docker.io/binds/2/Source=/Users/shivam/frappe/services/nginx-proxy/htpasswd,desktop.docker.io/binds/9/Target=/usr/share/nginx/ssl,desktop.docker.io/binds/6/Source=/Users/shivam/frappe/services/nginx-proxy/certs","LocalVolumes":"0","Mounts":"/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/run/host-serv…,/host_mnt/User…,/host_mnt/User…","Name":"fm_global-nginx-proxy","Names":"fm_global-nginx-proxy","Networks":"fm-global-frontend-network","Ports":"0.0.0.0:80-\u003e80/tcp, 0.0.0.0:443-\u003e443/tcp","Project":"services","Publishers":[{"URL":"0.0.0.0","TargetPort":80,"PublishedPort":80,"Protocol":"tcp"},{"URL":"0.0.0.0","TargetPort":443,"PublishedPort":443,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"global-nginx-proxy","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,790] DEBUG: RETURN CODE: 0
[2024-08-06 12:30:32,790] DEBUG: - -- -- -- -- -- -- -- -- -- -
[2024-08-06 12:30:32,801] DEBUG: - -- -- -- -- -- -- -- -- -- -
[2024-08-06 12:30:32,801] DEBUG: DOCKER COMMAND: docker compose -f /Users/shivam/frappe/sites/library.localhost/docker-compose.yml ps --all --format json frappe nginx socketio schedule redis-cache redis-queue redis-socketio
[2024-08-06 12:30:32,843] DEBUG: {"Command":"\"/bin/bash /entrypoi…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"06d7a6ce8827","Image":"ghcr.io/rtcamp/frappe-manager-frappe:v0.15.0","Labels":"author=rtCamp,com.docker.compose.depends_on=,com.docker.compose.oneoff=False,desktop.docker.io/binds/0/Source=/Users/shivam/frappe/sites/library.localhost/workspace,org.opencontainers.image.ref.name=ubuntu,org.opencontainers.image.source=https://github.com/rtcamp/Frappe-Manager,org.opencontainers.image.version=22.04,com.docker.compose.config-hash=8f4cc12dbd87e8e0cc84f73499d345c936efd60f4ac8ef28dd933c6db5ec3fdc,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost,com.docker.compose.version=2.29.1,desktop.docker.io/binds/0/SourceKind=hostFile,devcontainer.metadata=[{ \"remoteUser\": \"frappe\"}],com.docker.compose.container-number=1,com.docker.compose.image=sha256:f3e1abd7d2a61859d6bbf236fda837bd19a329ec2ce54821cdf0d0bcccfe9552,com.docker.compose.project=librarylocalhost,com.docker.compose.service=frappe,desktop.docker.io/binds/0/Target=/workspace","LocalVolumes":"0","Mounts":"/host_mnt/User…","Name":"librarylocalhost-frappe","Names":"librarylocalhost-frappe","Networks":"fm-global-backend-network,librarylocalhost-network","Ports":"80/tcp","Project":"librarylocalhost","Publishers":[{"URL":"","TargetPort":80,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"frappe","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,843] DEBUG: {"Command":"\"/bin/bash /entrypoi…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"cb6cb418e0c9","Image":"ghcr.io/rtcamp/frappe-manager-nginx:v0.15.0","Labels":"com.docker.compose.depends_on=,com.docker.compose.image=sha256:155040e21fca946bafd39ece08d0f1d7d186b2e465367225f0236934f330f351,desktop.docker.io/binds/0/Target=/usr/share/nginx/html,com.docker.compose.container-number=1,desktop.docker.io/binds/1/SourceKind=hostFile,desktop.docker.io/binds/3/Source=/Users/shivam/frappe/sites/library.localhost/configs/nginx/logs,desktop.docker.io/binds/4/Target=/var/cache/nginx,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost,desktop.docker.io/binds/3/Target=/var/log/nginx,maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,desktop.docker.io/binds/2/SourceKind=hostFile,com.docker.compose.project=librarylocalhost,desktop.docker.io/binds/0/SourceKind=hostFile,desktop.docker.io/binds/3/SourceKind=hostFile,desktop.docker.io/binds/4/Source=/Users/shivam/frappe/sites/library.localhost/configs/nginx/cache,desktop.docker.io/binds/5/Source=/Users/shivam/frappe/sites/library.localhost/configs/nginx/run,desktop.docker.io/binds/5/SourceKind=hostFile,desktop.docker.io/binds/5/Target=/var/run,com.docker.compose.config-hash=a6b5d0b51638a6141b29130e88da7cb0a83666527db6b3b34bcdebfd529c5603,desktop.docker.io/binds/0/Source=/Users/shivam/frappe/sites/library.localhost/configs/nginx/html,desktop.docker.io/binds/1/Target=/workspace,desktop.docker.io/binds/2/Source=/Users/shivam/frappe/sites/library.localhost/configs/nginx/conf,desktop.docker.io/binds/2/Target=/etc/nginx,desktop.docker.io/binds/4/SourceKind=hostFile,com.docker.compose.service=nginx,com.docker.compose.version=2.29.1,desktop.docker.io/binds/1/Source=/Users/shivam/frappe/sites/library.localhost/workspace","LocalVolumes":"0","Mounts":"/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…,/host_mnt/User…","Name":"librarylocalhost-nginx","Names":"librarylocalhost-nginx","Networks":"fm-global-frontend-network,librarylocalhost-network","Ports":"80/tcp","Project":"librarylocalhost","Publishers":[{"URL":"","TargetPort":80,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"nginx","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,843] DEBUG: {"Command":"\"docker-entrypoint.s…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"ef66d0707cd4","Image":"redis:6.2-alpine","Labels":"com.docker.compose.container-number=1,com.docker.compose.oneoff=False,com.docker.compose.project=librarylocalhost,com.docker.compose.version=2.29.1,com.docker.compose.service=redis-cache,com.docker.compose.config-hash=40e6ee9ff6d58e6a2dfa04046511887ae2d6c1476835d899ef8a1e15a19f785f,com.docker.compose.depends_on=,com.docker.compose.image=sha256:a8fd49b68365f8a6b03e26d0a8b5a4b38b1d04f6336a05bbed0a33d6c4b2c388,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost","LocalVolumes":"1","Mounts":"librarylocalho…","Name":"librarylocalhost-redis-cache","Names":"librarylocalhost-redis-cache","Networks":"librarylocalhost-network","Ports":"6379/tcp","Project":"librarylocalhost","Publishers":[{"URL":"","TargetPort":6379,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"redis-cache","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,843] DEBUG: {"Command":"\"docker-entrypoint.s…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"6ff2730c723e","Image":"redis:6.2-alpine","Labels":"com.docker.compose.depends_on=,com.docker.compose.image=sha256:a8fd49b68365f8a6b03e26d0a8b5a4b38b1d04f6336a05bbed0a33d6c4b2c388,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,com.docker.compose.service=redis-queue,com.docker.compose.version=2.29.1,com.docker.compose.config-hash=768e0bb0ba5a2272cc96116aa189d21e067d534792a5149e17d98eff34471dd7,com.docker.compose.container-number=1,com.docker.compose.project=librarylocalhost,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost","LocalVolumes":"1","Mounts":"librarylocalho…","Name":"librarylocalhost-redis-queue","Names":"librarylocalhost-redis-queue","Networks":"librarylocalhost-network","Ports":"6379/tcp","Project":"librarylocalhost","Publishers":[{"URL":"","TargetPort":6379,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"redis-queue","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,843] DEBUG: {"Command":"\"docker-entrypoint.s…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"d450c34f4993","Image":"redis:6.2-alpine","Labels":"com.docker.compose.config-hash=47c552752dfbf76c6ec80341cc6e8b08828ca13550038b2f589fd7c94be78f6b,com.docker.compose.service=redis-socketio,com.docker.compose.version=2.29.1,com.docker.compose.project=librarylocalhost,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost,com.docker.compose.container-number=1,com.docker.compose.depends_on=,com.docker.compose.image=sha256:a8fd49b68365f8a6b03e26d0a8b5a4b38b1d04f6336a05bbed0a33d6c4b2c388,com.docker.compose.oneoff=False","LocalVolumes":"1","Mounts":"librarylocalho…","Name":"librarylocalhost-redis-socketio","Names":"librarylocalhost-redis-socketio","Networks":"librarylocalhost-network","Ports":"6379/tcp","Project":"librarylocalhost","Publishers":[{"URL":"","TargetPort":6379,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"redis-socketio","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,844] DEBUG: {"Command":"\"/bin/bash /entrypoi…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"9f31c85a33fc","Image":"ghcr.io/rtcamp/frappe-manager-frappe:v0.15.0","Labels":"com.docker.compose.project=librarylocalhost,org.opencontainers.image.version=22.04,com.docker.compose.oneoff=False,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,desktop.docker.io/binds/0/Target=/workspace,org.opencontainers.image.source=https://github.com/rtcamp/Frappe-Manager,com.docker.compose.container-number=1,com.docker.compose.service=schedule,com.docker.compose.version=2.29.1,desktop.docker.io/binds/0/Source=/Users/shivam/frappe/sites/library.localhost/workspace,org.opencontainers.image.ref.name=ubuntu,author=rtCamp,com.docker.compose.config-hash=89c59af55405bc4895995f8be3f8ee4634e0a3b1d1c44746fc38139bfe1339a6,com.docker.compose.depends_on=,com.docker.compose.image=sha256:f3e1abd7d2a61859d6bbf236fda837bd19a329ec2ce54821cdf0d0bcccfe9552,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost,desktop.docker.io/binds/0/SourceKind=hostFile","LocalVolumes":"0","Mounts":"/host_mnt/User…","Name":"librarylocalhost-schedule","Names":"librarylocalhost-schedule","Networks":"fm-global-backend-network,librarylocalhost-network","Ports":"","Project":"librarylocalhost","Publishers":[],"RunningFor":"5 minutes ago","Service":"schedule","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,844] DEBUG: {"Command":"\"/bin/bash /entrypoi…\"","CreatedAt":"2024-08-06 12:25:12 +0530 IST","ExitCode":0,"Health":"","ID":"de54c03382c4","Image":"ghcr.io/rtcamp/frappe-manager-frappe:v0.15.0","Labels":"com.docker.compose.service=socketio,desktop.docker.io/binds/0/SourceKind=hostFile,desktop.docker.io/binds/0/Source=/Users/shivam/frappe/sites/library.localhost/workspace,desktop.docker.io/binds/0/Target=/workspace,org.opencontainers.image.ref.name=ubuntu,org.opencontainers.image.source=https://github.com/rtcamp/Frappe-Manager,com.docker.compose.image=sha256:f3e1abd7d2a61859d6bbf236fda837bd19a329ec2ce54821cdf0d0bcccfe9552,com.docker.compose.version=2.29.1,com.docker.compose.project.config_files=/Users/shivam/frappe/sites/library.localhost/docker-compose.yml,com.docker.compose.project.working_dir=/Users/shivam/frappe/sites/library.localhost,com.docker.compose.oneoff=False,com.docker.compose.project=librarylocalhost,com.docker.compose.container-number=1,com.docker.compose.depends_on=,org.opencontainers.image.version=22.04,author=rtCamp,com.docker.compose.config-hash=5f1960c08f2be4ade1611e44a03ffbe48d83ae049cd3123499497c19a3b3f693","LocalVolumes":"0","Mounts":"/host_mnt/User…","Name":"librarylocalhost-socketio","Names":"librarylocalhost-socketio","Networks":"librarylocalhost-network","Ports":"80/tcp","Project":"librarylocalhost","Publishers":[{"URL":"","TargetPort":80,"PublishedPort":0,"Protocol":"tcp"}],"RunningFor":"5 minutes ago","Service":"socketio","Size":"0B","State":"running","Status":"Up 5 minutes"}
[2024-08-06 12:30:32,845] DEBUG: RETURN CODE: 0
[2024-08-06 12:30:32,846] DEBUG: - -- -- -- -- -- -- -- -- -- -
[2024-08-06 12:30:32,890] ERROR: Exception Occured:  :
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/shivam/.pyenv/versions/3.12.4/lib/python3.12/site-packages/frappe_manager/commands.py:614 │
│                                                                                                  │
│   611 │   # prompt for restart frappe server                                                     │
│   612 │   if restart_required:                                                                   │
│   613 │   │   should_restart = richprint.prompt_ask(                                             │
│ ❱ 614 │   │   │   prompt=f"Frappe server restart is required after {admin_tools.value} of admi   │
│   615 │   │   │   choices=['yes', 'no'],                                                         │
│   616 │   │   )                                                                                  │
│   617 │   │   if should_restart == 'yes':                                                        │
│                                                                                                  │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │                     admin_tools = None                                                       │ │
│ │                           bench = <frappe_manager.site_manager.site.Bench object at          │ │
│ │                                   0x106b65220>                                               │ │
│ │               bench_config_save = True                                                       │ │
│ │                       benchname = 'library.localhost'                                        │ │
│ │                             ctx = <click.core.Context object at 0x10810f8c0>                 │ │
│ │                  developer_mode = <EnableDisableOptionsEnum.enable: 'enable'>                │ │
│ │                     environment = None                                                       │ │
│ │               fm_config_manager = FMConfigManager(                                           │ │
│ │                                   │                                                          │ │
│ │                                   root_path=PosixPath('/Users/shivam/frappe/fm_config.toml'… │ │
│ │                                   │   version=Version(version='0.16.0'),                     │ │
│ │                                   │   letsencrypt=FMLetsencryptConfig(                       │ │
│ │                                   │   │   email=None,                                        │ │
│ │                                   │   │   api_token=None,                                    │ │
│ │                                   │   │   api_key=None                                       │ │
│ │                                   │   )                                                      │ │
│ │                                   )                                                          │ │
│ │               letsencrypt_email = None                                                       │ │
│ │ letsencrypt_preferred_challenge = None                                                       │ │
│ │                restart_required = True                                                       │ │
│ │                services_manager = <frappe_manager.services_manager.services.ServicesManager  │ │
│ │                                   object at 0x1081ea150>                                     │ │
│ │                             ssl = None                                                       │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
AttributeError: 'NoneType' object has no attribute 'value'

[2024-08-06 12:30:32,890] CLEANUP: --------------------
[2024-08-06 12:30:32,890] CLEANUP: PROCESS: USED PROCESS [79466, 79467, 79470]
[2024-08-06 12:30:32,893] CLEANUP: 79466 Process not found
[2024-08-06 12:30:32,893] CLEANUP: 79467 Process not found
[2024-08-06 12:30:32,893] CLEANUP: 79470 Process not found
[2024-08-06 12:30:32,893] CLEANUP: --------------------

Additional context