Chinmay D. Pai
5c57334bb6
fix: move run_command to utils
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-07-09 17:27:54 +05:30
Chinmay D. Pai
2b2a57a85d
fix: use subprocess instead of os to run commands
...
* add a wrapper method run_command
* remove os.system calls
* use f-strings for commands
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-07-09 17:01:50 +05:30
Revant Nandgaonkar
251d6590cf
fix: nginx config
...
use $scheme://$http_host instead of $http_referer
fixes socketio
2020-07-06 14:44:52 +05:30
Revant Nandgaonkar
5648e3a6c4
feat: ping additional services using doctor
...
handle error
docs entry for health check command
2020-07-02 13:40:23 +05:30
Revant Nandgaonkar
6dfb1de5c6
feat: ping additional services using doctor
...
doctor --ping-service postgres:5432 -p mariadb:3306
2020-07-01 20:01:47 +05:30
Revant Nandgaonkar
8a93944de7
feat: optional site level db connection
2020-06-30 06:32:46 +05:30
Revant Nandgaonkar
87558b7f0d
feat: add postgres support to frappe-worker
2020-06-29 23:28:10 +05:30
Revant Nandgaonkar
1a1636df55
fix: fresh restore site_config backup
2020-06-26 05:47:17 +05:30
Chinmay D. Pai
95416ee555
fix: check for all possible site config backups
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-06-25 23:42:55 +05:30
Chinmay D. Pai
bdbcf40702
fix: restore encryption key on site restore
...
if encryption key exists for a site, it will now be restored to the site
config while restoring site
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-06-25 23:27:35 +05:30
Revant Nandgaonkar
af5854fc33
refactor: backup site_config.json
...
closes #282
2020-06-25 18:57:25 +05:30
Revant Nandgaonkar
eac54ebe00
fix: migrate command
...
importing migrate() needs frappe.init
2020-06-21 13:23:22 +05:30
Javier López
4e26ca653c
fix: use remote_addr instead of header ip
2020-06-17 14:37:38 -05:00
Revant Nandgaonkar
c618bd86d9
feat: wait for connection before creating site
2020-06-12 23:12:52 +05:30
Revant Nandgaonkar
93c1dc50d5
fix: only download and restore latest backup
2020-05-22 15:15:33 +05:30
Revant Nandgaonkar
9e1841f494
fix: push site_config.json with backup
2020-05-09 00:30:15 +05:30
paulator
52dbc49c21
Fix socketio error in reverse proxy setup
2020-05-06 11:11:55 +02:00
Revant Nandgaonkar
e1f0e62211
fix: restore backup grant privileges command
2020-04-29 22:52:15 +05:30
Revant Nandgaonkar
3181bc66b3
fix: restore backup create user password command
2020-04-29 19:32:51 +05:30
Revant Nandgaonkar
8ac55c86f9
fix: always disable maintenance mode after migration
2020-04-29 14:03:28 +05:30
Revant Nandgaonkar
e8b9710052
fix: mysql error during set db password
2020-04-29 14:03:11 +05:30
Chinmay D. Pai
8f20e5e00d
chore: escape backticks on db commands
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-04-29 11:44:58 +05:30
Chinmay D. Pai
884a82d814
fix: make semantic changes to commands
...
* add missing __main__ call to commands.py
* remove unnecessary imports
* fix backup WITH_FILES logic
* follow python semantics (?)
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-04-29 01:45:59 +05:30
Revant Nandgaonkar
479ce83f5c
fix: required region s3 compatible backup/restore
2020-04-26 22:48:35 +05:30
girish pasupathy
7498d5439a
Support for reading Mariadb and Admin password from file when using docker secrets
...
With this PR, password can be read from docker secrets in both compose as well as swarm environment.
```YAML
secrets:
mariadb-root-password:
file: mariadb-root-password.txt
erpnext-admin-password:
file: erpnext-admin-password.txt
services:
erpnext:
image: frappe/erpnext-worker:${ERPNEXT_VERSION:-v12.5.2}
environment:
- SITE_NAME=example.com
- DB_ROOT_USER=root
- MARIADB_HOST=mariadb
- INSTALL_APPS=erpnext
- FORCE=1
- REDIS_CACHE=redis-cache:6379
- REDIS_QUEUE=redis-queue:6379
- REDIS_SOCKETIO=redis-socketio:6379
- SOCKETIO_PORT=9000
- AUTO_MIGRATE=1
- ADMIN_PASSWORD_FILE=/run/secrets/erpnext-admin-password
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mariadb-root-password
secrets:
- erpnext-admin-password
- mariadb-root-password
restart: on-failure
volumes:
- erpnext-data:/home/frappe/frappe-bench/sites
- assets-data:/home/frappe/frappe-bench/sites/assets
links:
- redis-cache
- redis-queue
- redis-socketio
- mariadb
depends_on:
- mariadb
- redis-cache
- redis-queue
- redis-socketio
networks:
- erpnext-net
```
Reference: [Addind docker secrets in to your images](https://docs.docker.com/engine/swarm/secrets/#build-support-for-docker-secrets-into-your-images )
Changes to be committed:
modified: ../../README.md
modified: ../common/commands/new.py
modified: ../common/commands/restore_backup.py
modified: ../erpnext-nginx/docker-entrypoint.sh
2020-04-16 11:49:40 +05:30
girish pasupathy
87c251a464
Changed X-Frappe-Site-Name header to use value from $host
instead of $http_host
in nginx configuration
...
ISSUE
-----
`$http_host` is used for setting header 'X-Frappe-Site-Name'
which adds port number to the header along with the host value. Frappe source app.py expects the header
value to contain only the host name and not the port number. So `$host` should be used instead of
`$http_host` to set the 'X-Frappe-Site-Name' header
`$http_host` vs `$host` in nginx
--------------------------------
`$http_host` contains the host name along with port number whereas `$host` contains only the host name in lowercase without the port number.
> `$host` - This variable is equal to line Host in the header of request or
> name of the server processing the request if the Host header is not available.
> This variable may have a different value from $http_host in such cases:
> * when the Host input header is absent or has an empty value,
> `$host` equals to the value of server_name directive;
> * when the value of Host contains port number, `$host` doesn't include
> that port number. $host's value is always lowercase since 0.8.17.
> - [$host vs $http_host stackoverflow](https://stackoverflow.com/questions/15414810/whats-the-difference-of-host-and-http-host-in-nginx )
From the frappe source file [app.py](https://github.com/frappe/frappe/blob/develop/frappe/app.py#L107 ), X-Frappe-Site-Name is used if its set.
```Python
site = _site or request.headers.get('X-Frappe-Site-Name') or get_site_name(request.host)
```
Since `$host` variable will never contain port number which is not the case with `$http_host`,
`$host` should be used for setting the header 'X-Frappe-Site-Name'. Otherwise we have issues with site serving.
Tested the above changes in compose as well as in swarm environment.
In compose, tested the site with host mapping of 80 and 8000. Works with both the host port mapping.
Tested with erpnext version - v12.5.2
Changes to be committed:
modified: build/common/nginx-default.conf.template
2020-04-09 18:58:34 +05:30
Revant Nandgaonkar
4e7b7690ee
fix: backup and restore
...
new command FORCE=1 error fixed
only push backups if exists
prepare and process db restore
2020-03-27 16:07:12 +05:30
Revant Nandgaonkar
3a6f7e1934
feat: resotre backups from volume or cloud
2020-03-27 00:28:50 +05:30
Revant Nandgaonkar
754ba8a91a
feat: restrict backups to backup limit for each site
2020-03-25 22:25:24 +05:30
Revant Nandgaonkar
5f187c4e3f
feat: worker command to push backups to cloud
2020-03-25 06:35:49 +05:30
Revant Nandgaonkar
14dc20d510
fix: do not auto migrate on first run
2020-03-22 19:08:41 +05:30
Revant Nandgaonkar
674c766480
feat: auto migrate on container start if AUTO_MIGRATE set
2020-03-21 15:47:35 +05:30
Revant Nandgaonkar
7c356ccb27
fix: make python commands modular and reusable
2020-03-20 20:56:23 +05:30
Revant Nandgaonkar
6e8d2bf7c2
fix: nginx config
...
add updates from frappe/bench to config
2020-03-15 00:20:28 +05:30
Revant Nandgaonkar
40ceb79023
fix: python container healthcheck
...
ping all backing services
2020-03-14 22:47:35 +05:30
Revant Nandgaonkar
07806f1086
fix: worker new-site command
...
fixes #128
2020-03-07 19:39:59 +05:30
Revant Nandgaonkar
d00770e42f
fix: install_app set branch
2020-03-07 05:33:32 +05:30
chabad360
b6eb3ccde2
bug fix in install_apps.sh
2020-03-06 06:29:12 +00:00
chabad360
d6e012e9c0
resolve merge conflicts
2020-03-05 01:43:50 +00:00
chabad360
959ab4fc7d
one small change to support multi-tenancy
2020-03-05 01:38:01 +00:00
Revant Nandgaonkar
501d144728
fix: worker images new site command
...
install apps is a list not boolean
2020-03-04 14:36:13 +05:30
chabad360
b610caba7e
forgot about branches
2020-03-04 03:33:23 +00:00
chabad360
177ca58af6
add and implement install_app for worker image
2020-03-04 02:52:36 +00:00
Revant Nandgaonkar
07bcaec723
fix: allow user process to create logs
...
allow user process to create logs in worker images
2020-03-02 16:01:35 +05:30
Revant Nandgaonkar
0df0d6d11f
fix: use SOCKETIO_PORT instead of FRAPPE_SOCKETIO_PORT
2020-03-02 05:09:57 +05:30
Revant Nandgaonkar
c2c09400da
fix: use commonly known variable for MYSQL_ROOT_PASSWORD
2020-03-02 05:08:49 +05:30
Revant Nandgaonkar
33b5071aaa
fix: Frappe/ERPNext worker image new site command
2020-03-01 16:45:34 +05:30
Revant Nandgaonkar
9b6a641f4d
fix: config generation
...
fix envsubst single quote SHELL-FORMAT
env var changed from ERPNEXT_PY to FRAPPE_PY
2020-02-20 21:48:51 +05:30
Revant Nandgaonkar
242708df0c
refactor: reuse common scripts and files
...
move common scripts to build/common
2020-02-20 18:01:23 +05:30