2
0
mirror of https://github.com/frappe/frappe_docker.git synced 2024-11-10 07:11:00 +00:00
Commit Graph

108 Commits

Author SHA1 Message Date
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
e097f54481 fix: bench image
use specific version(s) of nodejs
[skip travis]
2020-07-01 04:24:49 +05:30
Revant Nandgaonkar
f871834dbe feat: dev environment also starts postgresql 2020-06-30 15:25:10 +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
56bf984ef7 fix: erpnext image build
frappe/erpnext MUST be in editable mode
output migration log in test
2020-06-28 07:40:33 +05:30
Revant Nandgaonkar
e6946fda75 fix: erpnext image build
set PYTHONUNBUFFERED for better logging
2020-06-28 05:58:45 +05:30
Revant Nandgaonkar
f5071122ed fix: erpnext image build
improve travis.py
python packages not installed in editable mode
use venv module instead of virtualenv
2020-06-28 05:55:15 +05:30
Revant Nandgaonkar
18e8f05c9f fix: erpnext image build errors 2020-06-28 00:22:23 +05:30
Revant Nandgaonkar
7106124a07 refactor: reuse Dockerfile(s) 2020-06-27 23:44:13 +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
Revant Nandgaonkar
90556e75bc
Merge pull request #276 from africlouds/develop
Install less in bench Dockerfile
2020-06-19 20:09:00 +05:30
africlouds
d17ea1366a
Install less in bench Dockerfile
Without less install, tools like bench --site site_name mariadb are not displaying results
2020-06-19 07:44:02 +02:00
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
daef926b06 feat(frappe/bench): allow 5 benches 2020-06-11 12:55:27 +05:30
Revant Nandgaonkar
93c1dc50d5 fix: only download and restore latest backup 2020-05-22 15:15:33 +05:30
Revant Nandgaonkar
b057e12bdc update: use wkhtmltopdf for buster_amd64 2020-05-19 12:10:09 +05:30
Revant Nandgaonkar
20f1fa0000 chore: update frappe/bench image
use latest nodejs v10 and v12
use cloned bench for bench development
2020-05-18 00:18:08 +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
05cb6a4596 build v13-beta images 2020-05-02 00:21:56 +05:30
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
Revant Nandgaonkar
7599252a62 revert(frappe-nginx): revert v12.Dockerfile
standard_style.css generation not required for v12
2020-04-23 21:56:52 +05:30
Revant Nandgaonkar
4f411104f3 fix(frappe-nginx): Generate Standard Style CSS
use nunjucks to render jinja2 template
generate default theme
2020-04-23 14:56:46 +05:30
Revant Nandgaonkar
529c23866f fix(frappe-nginx): fix connection message 2020-04-21 14:59:06 +05:30
Davide Bortolami
87e0648c3d Merge commit '78b2db1af10c0f94a50395f06f6021934921fe17' into develop 2020-04-17 00:34:42 +01:00
Davide Bortolami
2e0a863ef7 Update documentation, add ssh-client to bench build, expose MariaDB port in development 2020-04-17 00:34:22 +01:00
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
2422fbad26 fix: backup and restore
create backup dir in worker images
set ownership and mount volume for backups
update readme about restore backup
2020-03-27 16:41:32 +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