Dears,
Bug description
I encounter an issue on my frappe installation: since I upgraded to v15, I don’t see any of the markdown editors fields
For example, when I try to create a Newletter, I cannot edit the message if the editor is HTML of Markdown (that should appear in the yellow)
In the JS console, I get this message: Uncaught SyntaxError: expected expression, got '<'
Environment description
I deployed this instance thanks to docker-compose. For debug purposes, I installed a fresh frappe instance without any plugin.
Frappe version: v15.21.0
Here is my Dockerfile:
FROM frappe/erpnext:v15.19.2
USER root
WORKDIR /home/frappe/frappe-bench/apps/frappe/
RUN chown -R frappe:frappe /home/frappe/frappe-bench/sites/*
RUN chown -R frappe:frappe /home/frappe/frappe-bench/apps/frappe/frappe/public
WORKDIR /home/frappe/frappe-bench/sites
USER frappe
RUN bench build
Here is the script that I use to initialize the site:
#!/bin/bash
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
cd ${SCRIPTPATH}
export $(cat ${SCRIPTPATH}/.env | grep FRAPPE_SITE_NAME_HEADER)
export $(cat ${SCRIPTPATH}/.env | grep DB_PASSWORD)
ADMIN_PASSWORD=$(echo $RANDOM | md5sum | head -c 20; echo;)
echo ${ADMIN_PASSWORD} > ${SCRIPTPATH}/.site_admin_password
docker compose exec backend bench set-config -g root_login postgres
docker compose exec backend bench set-config -g root_password ${DB_PASSWORD}
docker compose exec backend bench new-site ${FRAPPE_SITE_NAME_HEADER} --db-type postgres --admin-password ${ADMIN_PASSWORD}
docker compose exec backend bench --site ${FRAPPE_SITE_NAME_HEADER} build
docker compose exec backend ln -s /home/frappe/frappe-bench/apps/frappe/frappe/public/icons/ /home/frappe/frappe-bench/sites/assets/frappe/icons
docker compose exec backend ln -s /home/frappe/frappe-bench/apps/frappe/frappe/public/css/ /home/frappe/frappe-bench/sites/assets/frappe/css
docker compose exec backend ln -s /home/frappe/frappe-bench/apps/frappe/frappe/public/images/ /home/frappe/frappe-bench/sites/assets/frappe/images
docker compose exec backend ln -s /home/frappe/frappe-bench/apps/frappe/frappe/public/sounds/ /home/frappe/frappe-bench/sites/assets/frappe/sound
Here is my compose.main.yaml file that I use to generate my docker-compose.yml:
x-depends-on-configurator: &depends_on_configurator
depends_on:
configurator:
condition: service_completed_successfully
x-backend-defaults: &backend_defaults
<<: *depends_on_configurator
#image: frappe/frappe-worker:${FRAPPE_VERSION:?No Frappe version set}
build:
context: ./dockerfile-worker
dockerfile: Dockerfile
args:
- ARG_FRAPPE_VERSION=${FRAPPE_VERSION:?No Frappe version set}
volumes:
- sites:/home/frappe/frappe-bench/sites
- apps_frappe:/home/frappe/frappe-bench/apps/frappe
services:
configurator:
<<: *backend_defaults
restart: "no"
environment:
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
REDIS_CACHE: ${REDIS_CACHE}
REDIS_QUEUE: ${REDIS_QUEUE}
REDIS_SOCKETIO: ${REDIS_SOCKETIO}
SOCKETIO_PORT: 9000
depends_on: {}
entrypoint:
- bash
- -c
command:
- >
bench set-config -g db_host $$DB_HOST;
bench set-config -gp db_port $$DB_PORT;
bench set-config -g redis_cache "redis://$$REDIS_CACHE";
bench set-config -g redis_queue "redis://$$REDIS_QUEUE";
bench set-config -g redis_socketio "redis://$$REDIS_SOCKETIO";
bench set-config -gp socketio_port $$SOCKETIO_PORT;
backend:
<<: *backend_defaults
volumes:
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_frappe:/home/frappe/frappe-bench/apps/frappe
expose:
- 8000
frontend:
image: frappe/erpnext:${FRAPPE_VERSION}
environment:
BACKEND: backend:8000
SOCKETIO: websocket:9000
FRAPPE_SITE_NAME_HEADER: ${FRAPPE_SITE_NAME_HEADER:-$$host}
UPSTREAM_REAL_IP_ADDRESS: ${UPSTREAM_REAL_IP_ADDRESS:-127.0.0.1}
UPSTREAM_REAL_IP_HEADER: ${UPSTREAM_REAL_IP_HEADER:-X-Forwarded-For}
UPSTREAM_REAL_IP_RECURSIVE: ${UPSTREAM_REAL_IP_RECURSIVE:-off}
volumes:
#- sites:/usr/share/nginx/html/sites
#- assets:/usr/share/nginx/html/assets
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_frappe:/home/frappe/frappe-bench/apps/frappe
depends_on:
- backend
- websocket
command:
- nginx-entrypoint.sh
websocket:
<<: *depends_on_configurator
image: frappe/erpnext:${FRAPPE_VERSION}
volumes:
- sites:/home/frappe/frappe-bench/sites
command:
- node
- /home/frappe/frappe-bench/apps/frappe/socketio.js
queue-short:
<<: *backend_defaults
command: bench worker --queue short
volumes:
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_nextoplait:/home/frappe/frappe-bench/apps/nextoplait
queue-default-1:
<<: *backend_defaults
command: bench worker --queue default
volumes:
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_nextoplait:/home/frappe/frappe-bench/apps/nextoplait
queue-default-2:
<<: *backend_defaults
command: bench worker --queue default
volumes:
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_nextoplait:/home/frappe/frappe-bench/apps/nextoplait
queue-long:
<<: *backend_defaults
command: bench worker --queue long
volumes:
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_nextoplait:/home/frappe/frappe-bench/apps/nextoplait
scheduler:
<<: *backend_defaults
command: bench schedule
volumes:
- sites:/home/frappe/frappe-bench/sites
- assets:/home/frappe/frappe-bench/sites/assets
- apps_nextoplait:/home/frappe/frappe-bench/apps/nextoplait
# ERPNext requires local assets access (Frappe does not)
volumes:
sites:
assets:
apps_frappe:
networks:
default:
name: br0
external: true
Do someone would have any idea of the source of the issue ? Is it a bug ? Is it just me ?
Best regards !