diff --git a/README.md b/README.md index badb0721..91290450 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ For docker based development refer to this [README](development/README.md) This repository requires Docker, docker-compose and Git to be setup on the instance to be used. +Docker basics and best practices. Refer Docker documentation. + ### Cloning the repository and preliminary steps Clone this repository somewhere in your system: @@ -38,7 +40,7 @@ cp env-example .env ### Setup Environment Variables -To get started, copy the existing `env-example` file to `.env` inside the `installation` directory. By default, the file will contain the following variables: +To get started, copy the existing `env-example` file to `.env`. By default, the file will contain the following variables: - `VERSION=edge` - In this case, `edge` corresponds to `develop`. To setup any other version, you may use the branch name or version specific tags. (eg. version-12, v11.1.15, v11) @@ -53,12 +55,16 @@ To get started, copy the existing `env-example` file to `.env` inside the `insta - `LETSENCRYPT_EMAIL=your.email@your.domain.com` - Email for LetsEncrypt expiry notification. This is only required if you are setting up LetsEncrypt. +Notes: + +- docker-compose-erpnext.yml and docker-compose-frappe.yml set `AUTO_MIGRATE` environment variable to `1`. +- `AUTO_MIGRATE` checks if there is semver bump or git hash change in case of develop branch and automatically migrates the sites on container start up. +- It is good practice to use image tag for specific version instead of latest. e.g `frappe-socketio:v12.5.1`, `erpnext-nginx:v12.7.1`. ### Local deployment for testing For trying out locally or to develop apps using ERPNext REST API port 80 must be published. -The first command will start the containers; the second command will publish the port of the *-nginx container. - +Following command will start the needed containers and expose ports. For Erpnext: diff --git a/build/common/commands/push_backup.py b/build/common/commands/push_backup.py index 8cf2b484..d1e3803c 100644 --- a/build/common/commands/push_backup.py +++ b/build/common/commands/push_backup.py @@ -176,6 +176,10 @@ def main(): folder = os.environ.get('BUCKET_DIR') + '/' + site + '/' + os.path.basename(db_file)[:15] + '/' upload_file_to_s3(db_file, folder, conn, bucket) + # Archive site_config.json + site_config_file = os.path.join(os.getcwd(), site, 'site_config.json') + upload_file_to_s3(site_config_file, folder, conn, bucket) + public_files = details.get('public_files', {}).get('file_path') if public_files: folder = os.environ.get('BUCKET_DIR') + '/' + site + '/' + os.path.basename(public_files)[:15] + '/' diff --git a/build/common/nginx-default.conf.template b/build/common/nginx-default.conf.template index 076b2c42..f6e375fb 100644 --- a/build/common/nginx-default.conf.template +++ b/build/common/nginx-default.conf.template @@ -30,7 +30,7 @@ server { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Frappe-Site-Name $host; - proxy_set_header Origin $scheme://$http_host; + proxy_set_header Origin $http_referer; proxy_set_header Host $http_host; proxy_pass http://socketio-server; diff --git a/development/README.md b/development/README.md index 9d421bf3..44ec78f4 100644 --- a/development/README.md +++ b/development/README.md @@ -116,20 +116,24 @@ bench --site mysite.localhost clear-cache To install an app we need to fetch it from the appropriate git repo, then install in on the appropriate site: -You can check [VSCode container remote extension documentation](https://code.visualstudio.com/docs/remote/containers#_sharing-git-credentials-with-your-container) regarding git creedential sharing. +You can check [VSCode container remote extension documentation](https://code.visualstudio.com/docs/remote/containers#_sharing-git-credentials-with-your-container) regarding git credential sharing. + +To install custom app ```shell -bench get-app myapp https://github.com/myusername/myapp.git +# --branch is optional, use it to point to branch on custom app repository +bench get-app --branch version-12 myapp https://github.com/myusername/myapp.git bench --site mysite.localhost install-app myapp ``` -For example, to install ERPNext (from the master branch): +To install ERPNext (from the version-12 branch): ```shell -bench get-app erpnext https://github.com/frappe/erpnext.git +bench get-app --branch version-12 erpnext https://github.com/frappe/erpnext.git bench --site mysite.localhost install-app erpnext ``` +Note: Both frappe and erpnext must be on branch with same name. e.g. version-12 ### Start Frappe without debugging