diff --git a/.github/workflows/publish_docs.yml b/.github/workflows/publish_docs.yml index f37a66e9..ab9de0ef 100644 --- a/.github/workflows/publish_docs.yml +++ b/.github/workflows/publish_docs.yml @@ -57,4 +57,4 @@ jobs: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v5 diff --git a/compose.yaml b/compose.yaml index c1f2eb63..5920e6d3 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,6 +1,6 @@ x-customizable-image: &customizable_image # By default the image used only contains the `frappe` and `erpnext` apps. - # See https://github.com/frappe/frappe_docker/blob/main/docs/container-setup/02-build-setup.md#define-custom-apps + # See https://github.com/frappe/frappe_docker/blob/main/docs/02-setup/02-build-setup.md#define-custom-apps # about using custom images. image: ${CUSTOM_IMAGE:-frappe/erpnext}:${CUSTOM_TAG:-$ERPNEXT_VERSION} pull_policy: ${PULL_POLICY:-always} diff --git a/devcontainer-example/devcontainer.json b/devcontainer-example/devcontainer.json index c5fceddc..192b91f4 100644 --- a/devcontainer-example/devcontainer.json +++ b/devcontainer-example/devcontainer.json @@ -44,6 +44,7 @@ "service": "frappe", "workspaceFolder": "/workspace/development", "shutdownAction": "stopCompose", + "postCreateCommand": "uv tool install pre-commit", "mounts": [ "source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/home/frappe/.ssh,type=bind,consistency=cached" ] diff --git a/development/apps-example.json b/development/apps-example.json index 513d3d10..c68f7f58 100644 --- a/development/apps-example.json +++ b/development/apps-example.json @@ -1,6 +1,6 @@ [ { "url": "https://github.com/frappe/erpnext.git", - "branch": "version-15" + "branch": "version-16" } ] diff --git a/development/installer.py b/development/installer.py index edd62147..cb6b774a 100755 --- a/development/installer.py +++ b/development/installer.py @@ -72,8 +72,8 @@ def get_args_parser(): "--frappe-branch", action="store", type=str, - help="frappe repo to use, default: version-15", # noqa: E501 - default="version-15", + help="frappe repo to use, default: version-16", # noqa: E501 + default="version-16", ) parser.add_argument( "-p", diff --git a/docs/index.md b/docs/index.md index 3a108011..854b9768 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,7 +14,7 @@ hero: link: /getting-started - theme: alt text: Single Compose Setup - link: /01-getting-started/02-single-compose-setup + link: /01-getting-started/04-single-compose-setup features: - title: Containerised diff --git a/docs/package.json b/docs/package.json index 91fd37bb..5a0481aa 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,5 +8,11 @@ "docs:build": "vitepress build", "docs:preview": "vitepress preview" }, + "pnpm": { + "overrides": { + "minimatch": "10.2.5", + "picomatch": "4.0.4" + } + }, "packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264" } diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index 7dbba065..500375b9 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -4,6 +4,10 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + minimatch: 10.2.5 + picomatch: 4.0.4 + importers: .: @@ -205,14 +209,6 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -531,9 +527,17 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + birpc@2.9.0: resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -601,7 +605,7 @@ packages: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} peerDependencies: - picomatch: ^3 || ^4 + picomatch: 4.0.4 peerDependenciesMeta: picomatch: optional: true @@ -691,9 +695,9 @@ packages: micromark-util-types@2.0.2: resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - minimatch@10.1.1: - resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} - engines: {node: 20 || >=22} + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} @@ -730,8 +734,8 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} postcss@8.5.8: @@ -1030,12 +1034,6 @@ snapshots: '@iconify/types@2.0.0': {} - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -1295,8 +1293,14 @@ snapshots: dependencies: sprintf-js: 1.0.3 + balanced-match@4.0.4: {} + birpc@2.9.0: {} + brace-expansion@5.0.5: + dependencies: + balanced-match: 4.0.4 + ccount@2.0.1: {} character-entities-html4@2.1.0: {} @@ -1370,9 +1374,9 @@ snapshots: dependencies: is-extendable: 0.1.1 - fdir@6.5.0(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: - picomatch: 4.0.3 + picomatch: 4.0.4 focus-trap@7.8.0: dependencies: @@ -1390,7 +1394,7 @@ snapshots: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.1.1 + minimatch: 10.2.5 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.1 @@ -1478,9 +1482,9 @@ snapshots: micromark-util-types@2.0.2: {} - minimatch@10.1.1: + minimatch@10.2.5: dependencies: - '@isaacs/brace-expansion': 5.0.0 + brace-expansion: 5.0.5 minipass@7.1.2: {} @@ -1509,7 +1513,7 @@ snapshots: picocolors@1.1.1: {} - picomatch@4.0.3: {} + picomatch@4.0.4: {} postcss@8.5.8: dependencies: @@ -1623,8 +1627,8 @@ snapshots: tinyglobby@0.2.15: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 trim-lines@3.0.1: {} @@ -1664,8 +1668,8 @@ snapshots: vite@7.3.1: dependencies: esbuild: 0.27.4 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 postcss: 8.5.8 rollup: 4.59.0 tinyglobby: 0.2.15 diff --git a/example.env b/example.env index ba4d57db..2e6864aa 100644 --- a/example.env +++ b/example.env @@ -1,6 +1,6 @@ -# Reference: https://github.com/frappe/frappe_docker/blob/main/docs/environment-variables.md +# Reference: https://github.com/frappe/frappe_docker/blob/main/docs/02-setup/04-env-variables.md -ERPNEXT_VERSION=v16.11.0 +ERPNEXT_VERSION=v16.13.2 DB_PASSWORD=123 diff --git a/pwd.yml b/pwd.yml index 05edef79..a0259f04 100644 --- a/pwd.yml +++ b/pwd.yml @@ -1,6 +1,6 @@ services: backend: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: @@ -16,7 +16,7 @@ services: MARIADB_ROOT_PASSWORD: admin configurator: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: @@ -45,7 +45,7 @@ services: - logs:/home/frappe/frappe-bench/logs create-site: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: @@ -100,7 +100,7 @@ services: - db-data:/var/lib/mysql frontend: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network depends_on: @@ -126,7 +126,7 @@ services: - "8080:8080" queue-long: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: @@ -145,7 +145,7 @@ services: FRAPPE_REDIS_QUEUE: redis://redis-queue:6379 queue-short: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: @@ -182,7 +182,7 @@ services: condition: on-failure scheduler: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: @@ -196,7 +196,7 @@ services: - logs:/home/frappe/frappe-bench/logs websocket: - image: frappe/erpnext:v16.11.0 + image: frappe/erpnext:v16.13.2 networks: - frappe_network deploy: diff --git a/requirements-test.txt b/requirements-test.txt index 5b240e09..b3b2b3ca 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1 +1 @@ -pytest==9.0.2 +pytest==9.0.3 diff --git a/resources/core/nginx/nginx-template.conf b/resources/core/nginx/nginx-template.conf index 2172ebb7..b7626b5e 100644 --- a/resources/core/nginx/nginx-template.conf +++ b/resources/core/nginx/nginx-template.conf @@ -15,6 +15,7 @@ map $http_x_forwarded_proto $proxy_x_forwarded_proto { server { listen 8080; server_name ${FRAPPE_SITE_NAME_HEADER}; + absolute_redirect off; root /home/frappe/frappe-bench/sites; proxy_buffer_size 128k;