refactor: prepare for v15 (#1243)

* chore: resolve merge conflict

* ci: changes for version 15

* chore: upgrade python and nodejs

* ci: fix v15 build

* fix: add redis_socketio for backward compatibility

* ci: fix v15 build

* ci: fix test endpoint

changed to erpnext.templates.pages.search_help.get_help_results_sections
This commit is contained in:
Revant Nandgaonkar
2023-10-20 18:40:10 +05:30
committed by GitHub
parent ab5f985536
commit f605addb71
26 changed files with 79 additions and 193 deletions

View File

@@ -87,7 +87,7 @@ PYENV_VERSION=3.10.12 bench init --skip-redis-config-generation --frappe-branch
cd frappe-bench
```
To setup frappe framework version 13 bench set `PYENV_VERSION` environment variable to `3.9.9` and use NodeJS version 14,
To setup frappe framework version 13 bench set `PYENV_VERSION` environment variable to `3.9.17` and use NodeJS version 14,
```shell
nvm use v14
@@ -103,7 +103,6 @@ We need to tell bench to use the right containers instead of localhost. Run the
bench set-config -g db_host mariadb
bench set-config -g redis_cache redis://redis-cache:6379
bench set-config -g redis_queue redis://redis-queue:6379
bench set-config -g redis_socketio redis://redis-socketio:6379
```
For any reason the above commands fail, set the values in `common_site_config.json` manually.
@@ -112,8 +111,7 @@ For any reason the above commands fail, set the values in `common_site_config.js
{
"db_host": "mariadb",
"redis_cache": "redis://redis-cache:6379",
"redis_queue": "redis://redis-queue:6379",
"redis_socketio": "redis://redis-socketio:6379"
"redis_queue": "redis://redis-queue:6379"
}
```
@@ -236,7 +234,7 @@ Note: To start bench with debugger refer section for debugging.
Most developers work with numerous clients and versions. Moreover, apps may be required to be installed by everyone on the team working for a client.
This is simplified using a script to automate the process of creating a new bench / site and installing the required apps.
This is simplified using a script to automate the process of creating a new bench / site and installing the required apps. `Administrator` password is for created sites is `admin`.
Sample `apps-example.json` is used by default, it installs erpnext on current stable release. To install custom apps, copy the `apps-example.json` to custom json file and make changes to list of apps. Pass this file to the `installer.py` script.
@@ -269,6 +267,8 @@ options:
-n NODE_VERSION, --node-version NODE_VERSION
node version, default: Not Set
-v, --verbose verbose output
-a ADMIN_PASSWORD, --admin-password ADMIN_PASSWORD
admin password for site, default: admin
```
A new bench and / or site is created for the client with following defaults.

View File

@@ -39,11 +39,7 @@ Hostname for redis server to store cache. Set only if external service for redis
### `REDIS_QUEUE`
Hostname for redis server to store queue data. Set only if external service for redis is used.
### `REDIS_SOCKETIO`
Hostname for redis server to store socketio data. Set only if external service for redis is used.
Hostname for redis server to store queue data and socketio. Set only if external service for redis is used.
### `ERPNEXT_VERSION`

View File

@@ -30,7 +30,7 @@ All services are described in `compose.yaml`
- `frontend`. [nginx](https://www.nginx.com) server that serves JS/CSS assets and routes incoming requests.
- `proxy`. [Traefik](https://traefik.io/traefik/) proxy. It is here for complicated setups or HTTPS override (with `overrides/compose.https.yaml`).
- `websocket`. Node server that runs [Socket.IO](https://socket.io).
- `queue-short`, `queue-default`, `queue-long`. Python servers that run job queues using [rq](https://python-rq.org).
- `queue-short`, `queue-long`. Python servers that run job queues using [rq](https://python-rq.org).
- `scheduler`. Python server that runs tasks on schedule using [schedule](https://schedule.readthedocs.io/en/stable/).
## Overrides

View File

@@ -62,14 +62,12 @@ configurator:
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;
environment:
DB_HOST: db
DB_PORT: "3306"
REDIS_CACHE: redis-cache:6379
REDIS_QUEUE: redis-queue:6379
REDIS_SOCKETIO: redis-socketio:6379
SOCKETIO_PORT: "9000"
# ... removed for brevity
```
@@ -95,7 +93,6 @@ create-site:
wait-for-it -t 120 db:3306;
wait-for-it -t 120 redis-cache:6379;
wait-for-it -t 120 redis-queue:6379;
wait-for-it -t 120 redis-socketio:6379;
export start=`date +%s`;
until [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".db_host // empty"` ]] && \
[[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_cache // empty"` ]] && \

View File

@@ -40,8 +40,7 @@ Instead of `docker compose config`, you can directly use `docker compose up` to
### Setup Frappe without proxy and external MariaDB and Redis
In this case make sure you've set `DB_HOST`, `DB_PORT`, `REDIS_CACHE`, `REDIS_QUEUE` and `REDIS_SOCKETIO`
environment variables or the `configurator` will fail.
In this case make sure you've set `DB_HOST`, `DB_PORT`, `REDIS_CACHE` and `REDIS_QUEUE` environment variables or the `configurator` will fail.
```sh
# Generate YAML
@@ -53,8 +52,7 @@ docker compose --project-name <project-name> -f ~/gitops/docker-compose.yml up -
### Setup ERPNext with proxy and external MariaDB and Redis
In this case make sure you've set `DB_HOST`, `DB_PORT`, `REDIS_CACHE`, `REDIS_QUEUE` and `REDIS_SOCKETIO`
environment variables or the `configurator` will fail.
In this case make sure you've set `DB_HOST`, `DB_PORT`, `REDIS_CACHE` and `REDIS_QUEUE` environment variables or the `configurator` will fail.
```sh
# Generate YAML

View File

@@ -15,7 +15,7 @@ version: "3"
services:
backend:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -25,7 +25,7 @@ services:
- logs:/home/frappe/frappe-bench/logs
configurator:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -40,21 +40,19 @@ services:
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;
environment:
DB_HOST: db
DB_PORT: "3306"
REDIS_CACHE: redis-cache:6379
REDIS_QUEUE: redis-queue:6379
REDIS_SOCKETIO: redis-socketio:6379
SOCKETIO_PORT: "9000"
volumes:
- sites:/home/frappe/frappe-bench/sites
- logs:/home/frappe/frappe-bench/logs
create-site:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -70,7 +68,6 @@ services:
wait-for-it -t 120 db:3306;
wait-for-it -t 120 redis-cache:6379;
wait-for-it -t 120 redis-queue:6379;
wait-for-it -t 120 redis-socketio:6379;
export start=`date +%s`;
until [[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".db_host // empty"` ]] && \
[[ -n `grep -hs ^ sites/common_site_config.json | jq -r ".redis_cache // empty"` ]] && \
@@ -107,7 +104,7 @@ services:
- db-data:/var/lib/mysql
frontend:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -129,23 +126,8 @@ services:
ports:
- "8080:8080"
queue-default:
image: frappe/erpnext:v14.27.1
platform: linux/amd64
deploy:
restart_policy:
condition: on-failure
command:
- bench
- worker
- --queue
- default
volumes:
- sites:/home/frappe/frappe-bench/sites
- logs:/home/frappe/frappe-bench/logs
queue-long:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -160,7 +142,7 @@ services:
- logs:/home/frappe/frappe-bench/logs
queue-short:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -192,17 +174,8 @@ services:
volumes:
- redis-cache-data:/data
redis-socketio:
image: redis:6.2-alpine
platform: linux/amd64
deploy:
restart_policy:
condition: on-failure
volumes:
- redis-socketio-data:/data
scheduler:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -215,7 +188,7 @@ services:
- logs:/home/frappe/frappe-bench/logs
websocket:
image: frappe/erpnext:v14.27.1
image: frappe/erpnext:v14
platform: linux/amd64
deploy:
restart_policy:
@@ -231,7 +204,6 @@ volumes:
db-data:
redis-queue-data:
redis-cache-data:
redis-socketio-data:
sites:
logs:
```

View File

@@ -8,7 +8,6 @@ This setup is a very simple single compose file that does everything to start re
- backend, serves gunicorn backend
- frontend, serves static assets through nginx frontend reverse proxies websocket and gunicorn.
- queue-default, default rq worker.
- queue-long, long rq worker.
- queue-short, short rq worker.
- schedule, event scheduler.
@@ -23,8 +22,7 @@ This setup is a very simple single compose file that does everything to start re
- db, mariadb, container with frappe specific configuration.
- redis-cache, redis for cache data.
- redis-queue, redis for rq data.
- redis-socketio, redis for socketio pubsub.
- redis-queue, redis for rq data and pub/sub.
## Volumes