2
0
mirror of https://github.com/frappe/frappe_docker.git synced 2024-12-27 11:52:46 +00:00
Commit Graph

69 Commits

Author SHA1 Message Date
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