diff --git a/compose.yaml b/compose.yaml index da3decfd..2916c38e 100644 --- a/compose.yaml +++ b/compose.yaml @@ -43,11 +43,6 @@ services: depends_on: - backend - websocket - labels: - - traefik.enable=true - - traefik.http.services.frontend.loadbalancer.server.port=8080 - - traefik.http.routers.frontend-http.entrypoints=web - - traefik.http.routers.frontend-http.rule=HostRegexp(`{any:.+}`) websocket: <<: *depends_on_configurator diff --git a/devcontainer-example/devcontainer.json b/devcontainer-example/devcontainer.json index e54fc138..32671f22 100644 --- a/devcontainer-example/devcontainer.json +++ b/devcontainer-example/devcontainer.json @@ -1,9 +1,14 @@ { "name": "Frappe Bench", - "appPort": [8000, 9000, 6787], + "forwardPorts": [8000, 9000, 6787], "remoteUser": "frappe", "settings": { - "terminal.integrated.shell.linux": "/bin/bash", + "terminal.integrated.profiles.linux": { + "frappe bash": { + "path": "/bin/bash" + } + }, + "terminal.integrated.defaultProfile.linux": "frappe bash", "debug.node.autoAttach": "disabled" }, "dockerComposeFile": "./docker-compose.yml", @@ -12,7 +17,7 @@ "shutdownAction": "stopCompose", "extensions": [ "ms-python.python", - "auchenberg.vscode-browser-preview", + "ms-vscode.live-server", "grapecity.gc-excelviewer", "mtxr.sqltools", "visualstudioexptteam.vscodeintellicode" diff --git a/images/worker/Dockerfile b/images/worker/Dockerfile index fb3f25e2..33e40d1f 100644 --- a/images/worker/Dockerfile +++ b/images/worker/Dockerfile @@ -48,7 +48,10 @@ RUN --mount=type=cache,target=/home/frappe/.cache/pip \ git clone --depth 1 -b ${FRAPPE_VERSION} https://github.com/frappe/frappe apps/frappe \ && env/bin/pip install -e apps/frappe \ && env/bin/pip install -U gevent \ - && rm -r apps/frappe/.git + && rm -r apps/frappe/.git \ + # Link Frappe's node_modules/ to make Website Theme work + && mkdir -p /home/frappe/frappe-bench/sites/assets/frappe/node_modules \ + && ln -s /home/frappe/frappe-bench/sites/assets/frappe/node_modules /home/frappe/frappe-bench/apps/frappe/node_modules diff --git a/overrides/compose.proxy.yaml b/overrides/compose.proxy.yaml index fca651b1..d2dc319a 100644 --- a/overrides/compose.proxy.yaml +++ b/overrides/compose.proxy.yaml @@ -1,4 +1,11 @@ services: + frontend: + labels: + - traefik.enable=true + - traefik.http.services.frontend.loadbalancer.server.port=8080 + - traefik.http.routers.frontend-http.entrypoints=web + - traefik.http.routers.frontend-http.rule=HostRegexp(`{any:.+}`) + proxy: image: traefik:2.5 command: diff --git a/tests/_check_website_theme.py b/tests/_check_website_theme.py new file mode 100644 index 00000000..bc7ca8f4 --- /dev/null +++ b/tests/_check_website_theme.py @@ -0,0 +1,17 @@ +import frappe + + +def check_website_theme(): + doc = frappe.new_doc("Website Theme") + doc.theme = "test theme" + doc.insert() + + +def main() -> int: + frappe.connect(site="tests") + check_website_theme() + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tests/main.py b/tests/main.py index 1910fb4d..06046bb5 100644 --- a/tests/main.py +++ b/tests/main.py @@ -339,6 +339,16 @@ def stop_s3_container(): run("docker", "rm", "minio", "-f") +@log("Check Website Theme creation") +def check_website_theme_creation(): + docker_compose("cp", "tests/_check_website_theme.py", "backend:/tmp") + docker_compose_exec( + "backend", + "/home/frappe/frappe-bench/env/bin/python", + "/tmp/_check_website_theme.py", + ) + + @log("Recreate with HTTPS override") def recreate_with_https_override(): docker_compose("-f", "overrides/compose.https.yaml", "up", "-d") @@ -456,6 +466,10 @@ def check_s3(): stop_s3_container() +def check_website_theme(): + check_website_theme_creation() + + def check_https(): print_compose_configuration() recreate_with_https_override() @@ -485,6 +499,7 @@ def main() -> int: start() create_frappe_site_and_check_availability() check_s3() + check_website_theme() check_https() check_erpnext() check_postgres()