bench init --python /usr/bin/python3.10 --no-backups --frappe-path file:///home/frappe/context/apps/frappe frappe-bench
Setting Up Environment
$ /usr/bin/python3.10 -m venv env
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade pip
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet wheel
Getting frappe
$ git clone file:///home/frappe/context/apps/frappe --depth 1 --origin upstream
Cloning into 'frappe'...
Installing frappe
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/frappe
DEPRECATION: Building 'maxminddb-geolite2' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'maxminddb-geolite2'. Discussion can be found at https://github.com/pypa/pip/issues/6334
DEPRECATION: Building 'PyQRCode' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'PyQRCode'. Discussion can be found at https://github.com/pypa/pip/issues/6334
DEPRECATION: Building 'rauth' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'rauth'. Discussion can be found at https://github.com/pypa/pip/issues/6334
DEPRECATION: Building 'traceback-with-variables' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'traceback-with-variables'. Discussion can be found at https://github.com/pypa/pip/issues/6334
DEPRECATION: Building 'zxcvbn' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'zxcvbn'. Discussion can be found at https://github.com/pypa/pip/issues/6334
DEPRECATION: Building 'docopt' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'docopt'. Discussion can be found at https://github.com/pypa/pip/issues/6334
$ yarn install --check-files
yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning " > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency "less@^4.x".
warning " > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency "stylus@^0.x".
warning " > @vue/component-compiler@4.2.4" has unmet peer dependency "vue-template-compiler@*".
[5/5] Building fresh packages...
Done in 31.74s.
Found existing apps updating states...
Aborted!
Traceback (most recent call last):
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/bench.py", line 334, in restart_supervisor_processes
supervisor_status = get_cmd_output("supervisorctl status", cwd=bench_path)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/__init__.py", line 243, in get_cmd_output
output = subprocess.check_output(
File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'supervisorctl status' returned non-zero exit status 2.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/frappe/.local/lib/python3.10/site-packages/bench/commands/make.py", line 75, in init
init(
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/render.py", line 105, in wrapper_fn
return fn(*args, **kwargs)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/system.py", line 87, in init
get_app(
File "/home/frappe/.local/lib/python3.10/site-packages/bench/app.py", line 781, in get_app
app.install(verbose=verbose, skip_assets=skip_assets, restart_bench=restart_bench)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/render.py", line 126, in wrapper_fn
return fn(*args, **kwargs)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/app.py", line 253, in install
install_app(
File "/home/frappe/.local/lib/python3.10/site-packages/bench/app.py", line 953, in install_app
bench.reload(_raise=False)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/render.py", line 126, in wrapper_fn
return fn(*args, **kwargs)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/bench.py", line 155, in reload
restart_supervisor_processes(bench_path=self.name, web_workers=web, _raise=_raise)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/bench.py", line 340, in restart_supervisor_processes
supervisor_status = get_cmd_output("sudo supervisorctl status", cwd=bench_path)
File "/home/frappe/.local/lib/python3.10/site-packages/bench/utils/__init__.py", line 243, in get_cmd_output
output = subprocess.check_output(
File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'sudo supervisorctl status' returned non-zero exit status 127.
ERROR: There was a problem while creating frappe-bench
Do you want to rollback these changes? [y/N]:
process "/bin/sh -c bench init --python /usr/bin/python${PYTHON_VERSION} --no-backups --frappe-path file:///home/frappe/context/apps/frappe frappe-bench `#stage-apps-frappe`" did not complete successfully: exit code: 1
------
[stage-0 20/27] RUN --mount=type=cache,sharing=locked,target=/home/frappe/.cache,uid=1000,gid=1000 --mount=type=bind,source=apps/frappe,target=/home/frappe/context/apps/frappe bench init --python /usr/bin/python3.10 --no-backups --frappe-path file:///home/frappe/context/apps/frappe frappe-bench `#stage-apps-frappe`:
Do you want to rollback these changes? [y/N]:
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning " > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency "less@^4.x".
warning " > @frappe/esbuild-plugin-postcss2@0.1.3" has unmet peer dependency "stylus@^0.x".
warning " > @vue/component-compiler@4.2.4" has unmet peer dependency "vue-template-compiler@*".
[5/5] Building fresh packages...
Done in 31.74s.
Found existing apps updating states...
Aborted!
------
failed to solve: process "/bin/sh -c bench init --python /usr/bin/python${PYTHON_VERSION} --no-backups --frappe-path file:///home/frappe/context/apps/frappe frappe-bench `#stage-apps-frappe`" did not complete successfully: exit code: 1
The bench init
command is failing because it tries to run supervisorctl status
but Supervisor isn’t installed in the container—so supervisorctl
isn’t found and exits with code 127, aborting the setup and failing the deployment of the bench.