Revant Nandgaonkar
8cfd762c61
feat: frappe commands
...
execute frappe commands with bench
2020-08-13 13:48:46 +05:30
Revant Nandgaonkar
bd157c6de9
Revert "chore: change public files slug for restore-backup"
...
This reverts commit dcf0c0f8b1
.
2020-08-07 16:02:45 +05:30
Revant Nandgaonkar
1c74ac2e0b
Revert "chore: change public file slug in push-backup"
...
This reverts commit 9dff8f2561
.
2020-08-07 16:02:15 +05:30
Chinmay D. Pai
dcf0c0f8b1
chore: change public files slug for restore-backup
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-08-07 12:47:20 +05:30
Chinmay D. Pai
9dff8f2561
chore: change public file slug in push-backup
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-08-07 12:21:15 +05:30
Revant Nandgaonkar
0d9aa27f5f
fix: symlink to node_modules
2020-08-06 15:18:32 +05:30
Revant Nandgaonkar
6b94d991e2
fix: add nodejs via nvm
2020-08-05 21:40:37 +05:30
peter
a956388a1a
fix: grant privileges for rds when restoring backup
2020-08-04 11:11:58 +01:00
Revant Nandgaonkar
c2a0e4f057
fix: condition for grants for aws rds
2020-07-16 06:08:24 +05:30
Revant Nandgaonkar
c2ebdfcf8b
fix: condition for mariadb grants for aws rds
2020-07-16 06:06:48 +05:30
Revant Nandgaonkar
9a22832389
fix: mariadb grants for aws rds
2020-07-15 21:28:52 +05:30
Revant Nandgaonkar
84fefb2283
refactor: add utils and constants
2020-07-10 23:15:36 +05:30
Revant Nandgaonkar
36f150bd95
fix: mysql restore db command with subprocess
2020-07-10 19:45:28 +05:30
Revant Nandgaonkar
21e2b13955
fix: mysql db commands with subprocess
2020-07-10 19:39:00 +05:30
Revant Nandgaonkar
4598cb24f4
fix: file input with subprocess
2020-07-10 16:18:25 +05:30
Revant Nandgaonkar
31ff697835
fix: mysql command with subprocess
2020-07-10 15:42:36 +05:30
Revant Nandgaonkar
fa2aff47df
fix: psql command with subprocess
2020-07-10 15:04:29 +05:30
Chinmay D. Pai
bafa7f6598
fix: remove quotes from psql db restore
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-07-10 10:27:36 +05:30
Chinmay D. Pai
1d9dd966b1
fix: pipe uncompressed database to file
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-07-10 10:07:22 +05:30
Chinmay D. Pai
c67fc02452
fix: make changes to psql restore
...
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2020-07-09 22:57:12 +05:30
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