Commit graph

49 commits

Author SHA1 Message Date
Ankush Menat
1c8f8b96d9 feat: include HRMS and IC in default image
This is most common request for custom apps on docker images. While it's
possible to build images with custom apps it's still involved so we can
start with including top 1-5% apps at least.
2024-04-17 22:07:12 +05:30
Dhafer Soudani
76a3d5df80
fix: add missing file package for bench restore (#1359)
Co-authored-by: dhafer <dhafer.souadni@ensi-uma.tn>
2024-03-22 11:27:00 +05:30
HENRY Florian
e582a2448d
fix: add file cmd because restore bench need it since frappe commit: 50d21677b872ff89d2912c7b57467757a35f549a (#1343) 2024-02-29 17:45:56 +05:30
0xD0M1M0
961453812c
fix: Fix gpg and less (#1321)
* fix: Add gpg and less

Add gpg so backup "bench --site yoursite.com backup --with-files --compress" does not fail if encryption is enabled

Add "less": fixes #1301

* fix: Add gpg and less

Add gpg so backup "bench --site yoursite.com backup --with-files --compress" does not fail if encryption is enabled

Add "less": fixes frappe#1301

* fix: Update documentation

update documentation to resemble current status

* fix: trailing whitespace

---------

Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
2024-01-28 11:53:14 +05:30
Revant Nandgaonkar
f605addb71
refactor: prepare for v15 (#1243)
* chore: resolve merge conflict

* ci: changes for version 15

* chore: upgrade python and nodejs

* ci: fix v15 build

* fix: add redis_socketio for backward compatibility

* ci: fix v15 build

* ci: fix test endpoint

changed to erpnext.templates.pages.search_help.get_help_results_sections
2023-10-20 18:40:10 +05:30
Faris Ansari
2b4b39a65b
fix: set node version to 18 for frappe develop (#1166) 2023-07-02 17:20:33 +05:30
Revant Nandgaonkar
779f8be4fe
fix: add python 3.11 and nodejs 18 (#1163)
used for frappe develop branch
2023-06-28 15:53:35 +05:30
Revant Nandgaonkar
e6c0e7263b
ci: refactor (#1158)
* ci: refactor

use debian bookworm
use updated wkhtmltopdf
override python and nodejs versions

* ci: fix bench and test

* ci: remove comments from example.env

* docs: add maintenance section
2023-06-26 11:54:37 +05:30
Revant Nandgaonkar
e9fa75d144
fix: use stable bench branch (#1138)
#1137
2023-05-10 15:47:37 +05:30
Revant Nandgaonkar
98ea4212a4
fix: default config for production (#1088)
reported here https://discuss.frappe.io/t/frappe-docker-2023-production-setup-password-reset-email-link-added-with-port-8000/101844
2023-03-05 18:48:37 +05:30
Salah Aldin Fateh
1962ac2eec
Remove unnecessary WORKDIR (#1057) 2023-01-25 17:27:30 +05:30
Salah Aldin Fateh
f0d94819a3
add read perms to nginx-entrypoint (#1053)
* add read perms to nginx-entrypoint

* chore: set file permission for custom image

accepted as per suggestion from users
not required for linux runners

Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
2023-01-21 16:48:53 +05:30
Revant Nandgaonkar
e9f28c9932
fix: set exec for nginx entrypoint (#1051)
for OS that mess up permission
2023-01-20 13:25:21 +05:30
Revant Nandgaonkar
bb1e4bb341
feat: add restic (#1044)
* feat: add restic

allows incremental snapshot backups
remove custom push-backup script

* ci: remove .git dir to skip fetch_details_from_tag

fixes https://github.com/frappe/frappe_docker/actions/runs/3938883301/jobs/6738091655
2023-01-18 11:31:18 +05:30
Revant Nandgaonkar
455a523205
fix: add weasyprint dependencies (#1047)
* fix: add weasyprint dependencies

fixes #1045

* ci: fix trigger to test pr

* fix: add weasyprint deps to bench
2023-01-17 17:12:27 +05:30
Revant Nandgaonkar
7b193e3392
fix: remove git remotes for erpnext (#1041)
fix github rate limit error on bench install-app
2023-01-16 12:29:30 +05:30
Revant Nandgaonkar
e6088af885
refactor: build only one frappe/erpnext image (#1032)
* ci: skip frappe builds

* refactor: build only one frappe/erpnext image

* fix: lint nginx entrypoint script

* docs: update and organize docs

* docs: fix lint errors

* fix(custom): pass base64 encoded apps json

* ci: update dependabot

* docs: update contributing

* docs: remove info about multi image setup

* fix: initiate empty common_site_config.json

default config has host keys set to localhost
causes connection errors

* docs: add details for pwd volumes

* fix: symlink assets instead of copy

* fix: nginx private files

* ci: skip docker compose v2 install for ubuntu-latest

* fix: organize layers

* feat: allow remove git remote for custom image

* docs: allow remove git remote for custom image

* fix: remove duplicate --apps_path
2023-01-16 04:20:09 +05:30
Bernhard Sirlinger
8f7b234a12
feat: make client_max_body_size configurable via env (#1029) 2022-12-27 03:12:22 +05:30
Bernhard Sirlinger
75e44ba902
feat: make proxy read timeout configurable via env (#975) 2022-12-25 13:23:55 +05:30
dependabot[bot]
a5667b0774
chore(deps): bump nginxinc/nginx-unprivileged in /images/nginx (#1026)
Bumps nginxinc/nginx-unprivileged from 1.23.2-alpine to 1.23.3-alpine.

---
updated-dependencies:
- dependency-name: nginxinc/nginx-unprivileged
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-21 19:58:16 +05:30
Revant Nandgaonkar
009877d67c
fix: create config directory in worker image (#1014)
* fix: add git to worker image

* fix: create config directory in worker image
2022-12-10 13:52:37 +05:30
Revant Nandgaonkar
63902fd427
fix(frappe-socketio): use package.json from frappe repo (#996)
fixes #994
2022-11-05 14:43:33 +05:30
Peter Dave Hello
bfd847eaca
Prevent leaving pip install cache in Docker image (#985) 2022-10-28 18:45:44 +05:30
Babuuu
83f7db0c50
Use docker --chown command instead of RUN chown (#979)
The `RUN chown -R frappe:frappe /home/frappe` command was taking too long for me, over 6 minutes before I gave up and killed it. docker chown is faster, and it helps avoid creating a new layer.
2022-10-24 17:52:22 +05:30
dependabot[bot]
35b944d850
chore(deps): bump nginxinc/nginx-unprivileged in /images/nginx (#978)
Bumps nginxinc/nginx-unprivileged from 1.23.1-alpine to 1.23.2-alpine.

---
updated-dependencies:
- dependency-name: nginxinc/nginx-unprivileged
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-21 21:49:32 +05:30
Revant Nandgaonkar
8e7f8b3b71
fix: install correct nodejs as per frappe version (#970)
fixes #967, #969
2022-10-19 14:22:07 +05:30
Revant Nandgaonkar
ba68887e40
fix: install node and python envs for v13 (#963)
fixes #962
2022-10-16 13:38:16 +05:30
Jeffery CHEN Fan
301e4770a4
Update Dockerfile (#926) 2022-09-16 04:06:12 +05:30
Revant Nandgaonkar
ec584ba9c8
Deprecate assets builder (#922)
* feat: remove assets-builder image

* ci: remove version 12 builds

* fix: v13 nginx builds
2022-09-12 14:20:05 +05:30
Revant Nandgaonkar
2c1e5425b6
fix(bench): add dependencies to build python using pyenv (#920)
* fix(bench): add dependencies to build python using pyenv

fixes #840

* fix(bench): comment typo
2022-09-09 15:48:22 +05:30
HENRY Florian
7e5d9c7f53
feat: remove version-12 dependencies (#898)
* feat: remove version-12 dependencies

* chore: Add in comment missing depdencies

* chore: Add in comment missing depdencies

* chore: Add in comment missing depdencies
2022-08-30 12:40:33 +05:30
Revant Nandgaonkar
6fa946a630
fix: install frappe/payments for v14 and develop (#867)
* fix: install frappe/payments for v14 and develop

* fix: test installs payments as per version

* fix: copy all apps for erpnext images

* fix: test installs payments on version-14

* fix: get_latest_tags script

* fix: docker build condition for v14
2022-08-02 06:01:13 +05:30
dependabot[bot]
95711cc847
chore(deps): bump nginxinc/nginx-unprivileged in /images/nginx (#856)
Bumps nginxinc/nginx-unprivileged from 1.23.0-alpine to 1.23.1-alpine.

---
updated-dependencies:
- dependency-name: nginxinc/nginx-unprivileged
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-22 17:18:08 +05:30
Revant Nandgaonkar
1754e6872f
add python 3.10 (#837)
* fix: use py 3.10 for v14

closes #836

* docs: update development readme for py versions

* ci: update github actions py version to 3.10

* Quote Python version in yaml files

* fix: typo in environment variable

Co-authored-by: Lev Vereshchagin <mail@vrslev.com>
2022-07-03 15:09:10 +05:30
saiyam morakhiya
b58a1a6d6f
Update Socketio Dockerfile (#831)
Changing user to frappe makes all after commands make executable under frappe user except COPY command so trying with externally specifying with --chown=frappe:frappe
2022-06-26 04:18:48 +05:30
Marco
2b6c8b6fa9
Update nginx-template.conf (#828) 2022-06-24 11:59:27 +05:30
dependabot[bot]
e731ba1950
chore(deps): bump nginxinc/nginx-unprivileged in /images/nginx (#827)
Bumps nginxinc/nginx-unprivileged from 1.21.6-alpine to 1.23.0-alpine.

---
updated-dependencies:
- dependency-name: nginxinc/nginx-unprivileged
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-24 11:34:08 +05:30
Revant Nandgaonkar
5fbd9bdda5
feat: optional bucket directory for push-backup (#784) 2022-04-20 05:09:56 +05:30
Byju Abraham
76cfbd6468
Add the base URL to the rewrite rules in the nginx config template (#779)
* Add the base URL to the rewrite rules in the nginx config template

* Replace forced HTTPS with nginx variable

* ci: fix inputs.platforms (#782)

* ci: fix inputs.platforms

* ci: remove inputs.platforms

Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
2022-04-13 12:19:35 +03:00
Revant Nandgaonkar
5edac4c12a
feat: allow custom git repos (#771)
fixes #770
2022-04-11 10:30:16 +05:30
Revant Nandgaonkar
832c44c8ea
fix: gunicorn config for containers (#752) 2022-04-03 15:45:39 +03:00
Lev
6fa358ca4e
Build for v12 (#750)
* Build for v12

Typo!!

* Fix Python 3.7 compatibility

* Skip assets endpoint test on v12
2022-04-03 15:57:22 +05:30
Lev
ca9761585a
Remove git reference from install-app (#742)
* Remove git reference from install-app
Also fixed issue with missing sites/assets folder

* Update custom app guide according to changes

* Ignore apps that have no frontend code instead of failing
2022-03-30 12:09:09 +03:00
Lev
1d5a0859a8
Add install-app script in final backend image (#729) 2022-03-24 10:38:45 +03:00
Lev
f86b389466
Simplify Dockerfiles and custom app guide (#714)
* Add assets builder image

* Use assets builder in custom_app tutorial

* Use erpnext in custom app tutorial

* Add info about base images (frappe or erpnext)

* Add assets-builder image to frappe group so it is built in CI

* Update backend image:
- Fix mounted caching
- Uncomplicate ERPNext build
- Fix root-frappe permissions

* Add build-assets script for simpler frontend build

* Add install-app script for backend build

* Rename build-assets to install-app for frontend build

* Update custom app builds according to new main dockerfiles

* Cache pip packages in custom app example backend dockerfile

* Update custom app guide

* Fix typo in backend dockerfile

* Add info about install-app scripts in readme
2022-03-23 11:43:47 +03:00
Lev
d4469cfb64
fix: Letterheads missing (#704)
* fix: Letterheads missing
Fixes #703

* empty
2022-03-18 16:20:39 +05:30
Revant Nandgaonkar
79760daf9b
fix: link frappe node_modules to make Website Theme work (#702)
* fix: link frappe node_modules to make Website Theme work

* Add website theme test

* Fix failing test

Co-authored-by: Lev Vereshchagin <mail@vrslev.com>
2022-03-16 13:39:16 +03:00
dependabot[bot]
7831a097c4
chore(deps): bump nginxinc/nginx-unprivileged in /images/nginx (#684)
Bumps nginxinc/nginx-unprivileged from 1.20-alpine to 1.21.6-alpine.

---
updated-dependencies:
- dependency-name: nginxinc/nginx-unprivileged
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-14 09:13:55 +03:00
Lev
a9b6b755ce
Global refactoring (#617)
* Rename `bench-build` target to `bench` in bake file

* Update bake file and break everything

* Rename docker-compose.yml to compose.yml to avoid conflicting on `docker buildx bake`

* Fix groups in bake file

* Update frappe-worker

* Update frappe-nginx, erpnext-nginx

* Remove old erpnext images

* Update frappe-socketio

* Fix develop frappe-nginx build on linux/arm64

* Update dockerignore

* Update gitignore

* Update gitignore

* Update .env files

* Update installation (overrides)

* Update tests

* Fix image names

* Update compose

* Update get-latest-tags

* Update CI

* Setup and remove .env on tests

* Add build bench workflow

* Add triggers to main workflow

* Add release helm job

* Use reusable workflows

* Rollback

* Print configuration before running tests

* Show tests/.env

* Revert "Show tests/.env"

This reverts commit 4bc3bdebaf.

* Fix ci image versions

* Remove `frappe-` prefix in build directories

* Move requirements-dev.txt

* Fix image name in CI

* Update gitignore

* Update pre-commit config

* Drop `version:` in compose files

* Add push-backup

* Fix postgres CI test

* Change .yml to .yaml in compose file to follow compose-spec

* Remove prettierignore

* Fix dockerignore

* Change .yml to .yaml in compose file to follow compose-spec

* Don't depend on boto3 while testing (do it in backend)

* Update erpnext example version

* Don't fail ping on URLError

* Move assets volume to main compose file

* Fix type annotations for v12

* Fix postgres ci override in tests

* Fix spaces in socketio

* Reorder stages in nginx image, improve perfomance

* Remove unused todo

* Optimize worker build

* Install Node in worker image

* Add 502 error page

* Remove unused quiet-pull in tests

* Add configurator service to dynamically set common config

* Remove unused compose.ci-postgres.yml

* Use Python for configurator service: faster and more robust

* Add TODO.md

* Use python script to get latest tags in CI

* Clean up nginx dockerfile

* Remove VOLUME declaration

https://stackoverflow.com/a/55052682

* Add custom app example

* Remove pwd for now

* Remove pwd for now

* Use jq for parsing config in healthcheck

* Take advantage of yaml lang: add defaults in compose file. Also require env vars

* Fix CI

* Use resusable workflow

* Update

* Move release_helm job to main.yml

* Rename docker-build to docker-build-push

* Rename main to build_stable

* Rename bench targets

* Remove quotes from docker-build-push inputs

* Update build develop

* Remove HELM_DEPLOY_KEY secret from docker-build-push

* Add job names

* Remove build_bench workflow

* Update version input description in docker-build-push

* Print .env in tests, if version is develop, change to latest (for tag)

* Fix env setup

* Uncomment tests

* Parse and set short tags from git tag in bake file

* Move devcontainer settings to devcontainer.json

* Add db command notice

* Fix CI?

* Fix inconsistencies in development readme

* Remove pwd for now

* Remove custom apps for production instruction

* Update todos

* Add docs for images and compose files

* Add variables docs and allow custom frappe site name header

* Add notice about internal environment variables

* Update site-operations docs

* Update todos

* Add Overrides header in images-and-compose-files

* Update todos

* Remove extra docs

* Don't log requests in worker image (nginx already does that)

* Remove default value of FRAPPE_SITE_NAME_HEADER in example.env

* Use file that consistent in v12, v13 and develop to check /assets

* Fix paths in CI

* Update todos

* Remove TODO.md

* Update tests/_check_backup_files.py

Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>

* Change variables MINIO_ACCESS_KEY and MINIO_SECRET_KEY to S3_ACCESS_KEY, S3_SECRET_KEY in tests

* Fix S3 test

* Use `nginxinc/nginx-unprivileged` instead of `nginx` image

Also use Ngnix 1.20 instead of unstable 1.21

* Fix https override

* Update Dockerfile

* Mount assets to backend service in read only mode

* Touch .build (#307), use scripts from nginx image to generate config and touch .build

* Update example env after building stable images

* Touch `.build` on develop image (untill https://github.com/frappe/frappe/issues/15396 is resolved)

* Add `make` to worker build deps for linux/arm64

* Fix update example.env job

* Fix .build creation on develop branch

* Move bench CI to different file

This way workflow runs only on PRs that relevant to bench build

* Fix app name in custom app example

* Update erpnext and frappe versions in example.env

* Don't install `svg-sprite` and `sass` node modules in nginx image on linux/arm64 (https://github.com/frappe/frappe/pull/15275)

* docs: README and docs

* docs: add link to site operations from docker swarm

* ci: fix tests as per changes to compose.yaml

* docs: move wiki articles to docs

* docs: fix add custom domain

* docs: fix patch code from images

* fix: do not expose port 80 for old images

* fix: custom domain labels to frontend container/service

* Add missing descriptions to envs in example.env

* Fix redis depends_on

* Fix docker compose in tests when not running on TTY

* Set -T flag in `docker compose exec` only if not tty

* Run pre-commit on docs

* Remove postgres healthcheck (it gets overriden by mariadb)

* Refactor test

* Update workflow names

* Add pip to dependabot config

* docs: backup and push (#19)

* Beautify changes by @revant (#20)

* feat: add gevent to worker image

* feat: real_ip configuration for nginx

* Return `healthcheck.sh` just for tests

Co-authored-by: Lev Vereshchagin <mail@vrslev.com>

* Make pretend bench catch unknown commands (closes #666)

* Remove debug print in push-backup

* Fix typing issues in push-backup

* Update file keys in push-backups: from abs path to <site>/<file>

* Refactor push-backup

* Move gevent installation in Frappe step

* Don't pin boto stubs requirement

* Cache pip deps on build

* Update example env versions

* Refactor check backup files

* Fix backup test

* Fix backup test

* Rename build/ dir to images/

* Rename build/ dir to images/

* Fix /build -> /images in docs

* Update example.env

* Use reusable workflow in frappe user instead of vrslev

* Fix compose`s `project` option in docs (https://github.com/frappe/frappe_docker/pull/617#issuecomment-1065178792)

* Add note about project option in site-operations doc

* Update example env

* Rename build arg `USERNAME` to `REGISTRY_USER`

* Allow https proxy to access Docker socket

* Revert "Use reusable workflow in frappe user instead of vrslev"

This reverts commit 6062500d0d.

* Revert "Revert "Use reusable workflow in frappe user instead of vrslev""

This reverts commit 4680d18ff8.

Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
2022-03-14 11:23:03 +05:30