Commit Graph

17 Commits

Author SHA1 Message Date
Oliver Günther 6bf4c0b67c Bump node to 22.21.0
Addresses CVE-2025-23166
2025-10-27 11:01:44 +01:00
Oliver Günther 39c42a35ef Allow configuration of base image 2025-10-23 07:55:10 +02:00
Oliver Günther fdea795a77 Bump Node.js and NPM (#18814)
* Bump nodejs to 22.15

* Update frontend docker
2025-05-05 15:30:22 +02:00
Alexander 19570b5b7b Fix npm version 2025-03-07 13:40:24 +01:00
Eric Schubert 029c0596d4 [chore] bump backend node engine (#14034)
* [chore] bump backend node engine

- bump to v20, latest LTS

* [chore] replaced node versions in docs
2023-11-02 13:33:58 +01:00
Benjamin Bädorf f37ac9de01 Remove unused frontend dockerfile build label 2022-10-06 11:51:51 +02:00
Benjamin Bädorf ede5dd6413 Set CHROME_BIN Env variable in forntned docker container
This is to ensure running `ng test` in the container works as expected.
Even though chromium was already installed, it was not being found.
2022-10-06 11:51:51 +02:00
Henriette Darge 50021d19ac Update node and npm version in Dockerfile and docs 2022-06-13 18:01:49 +02:00
Benjamin Bädorf ca90ee2538 Fix frontend docker dev container permissions
The frontend container already comes with a `node` user. In some instances, the new `dev` and old `node` user would have ID or name collisions. This PR fixes that by only reusing the `node` user.
2021-09-14 13:28:49 +02:00
Benjamin Bädorf 4f0850d208 Enable frontend unit tests in docker (#9480)
* Enable frontend unit tests in docker

* Update npm command names
2021-07-19 12:32:05 +00:00
Patrick Helm 5810190995 Speed up bin/compose setup significantly (#9404)
With the proposed changes the time required to run `./bin/compose setup`
is being reduced from ~18 minutes down to ~7 minutes on my machine.
In addition a workaround is applied to reduce the size of the images.

== Changes

=== Speed-Up `bundle install`

The time spent withing `bundle install` takes a significant amount time
during the `./bin/compose setup`.
We could make use of two improvements, which both allows us to
utitlize multiple CPU cures:

* Make use of the bundle `--jobs` argument
* Make use of the lesser known/used `MAKE` environment variable

A significant amount of time spent during `bundle install` is actually
compiling C-extensions, that's why the usage of the `MAKE` variable will
drastically improve performence.

=== `useradd --no-log-init`

Unfortunately there is a nasty bug when running `useradd` for a huge
`uid`, which could result in excessive image sizes. See attached links
for more information.

=== BuildKit

BuildKit is the default builder toolkit for Docker on Windows and
DockerDesktop on Macs. Using BuildKit will greatly improve performance
when building docker images.

== Links

=== Speed-Up `bundle install`

* [One Weird Trick That Will Speed Up Your Bundle Install](https://build.betterup.com/one-weird-trick-that-will-speed-up-your-bundle-install/)

=== BuildKit

* [Build images with BuildKit](https://docs.docker.com/develop/develop-images/build_enhancements/)
* [Faster builds in Docker Compose 1.25.1 thanks to BuildKit Support](https://www.docker.com/blog/faster-builds-in-compose-thanks-to-buildkit-support/)

=== `useradd --no-log-init`

* Best practices for writing Dockerfiles: [User](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user)
* golang/co: [archive/tar: add support for writing tar containing sparse files](https://github.com/golang/go/issues/13548)
2021-07-13 16:01:59 +02:00
Wieland Lindenthal b81499ab3a Update node to 14.17.0 and npm to latest version 2021-06-03 13:00:28 +02:00
Piyotaro, Kiiroi (きいろい ぴよ太郎) 6385150c6a Bump nodejs to v14.16.0 (#9046)
* Bump nodejs to v14.16.0

Lastest LTS version of nodejs is 14.16.0

* Bump nodejs to v14.16.0

Lastest LTS version of nodejs is 14.16.0
2021-02-24 20:21:03 +01:00
Benjamin Bädorf 660884f50a Fix various problems with the docker setup and frontend changes (#8846)
Fix various problems with the docker setup and frontend changes
* Set the node version to the same one that is used in the final packages and that is required in package.json
* Change the order of operations for backend container building
* Set the npm dependencies back to where they were
* Change browserslist rules for firefox
* Fix some docker commands for pullpreview
* Add b12f as a pullpreview admin

Co-authored-by: ulferts <jens.ulferts@googlemail.com>
2020-11-16 16:15:40 +00:00
Cyril Rohr 28347a4eab Fix paths for pre/post install with prod docker 2020-11-13 14:30:34 +00:00
Benjamin Bädorf 5f45ee07ab Move development docker-compose file to the main directory (#8798)
* Move development docker-compose file to the main directory

This requires us to move some other files around, like the pullpreview and example docker-compose file for production
setups. This commit also does some housekeeping, like removing some old files and deduping configuration.

* Updated to selenium grid

* Fix in-Docker Selenium tests

The Selenium tests now run inside a Docker Chrome Container. Backwards compatability with non-docker setups is not
guaranteed, though it should not be hard to implement with a couple of small fixes.

* Updated docker development documentation

* Improved test timings, changed the documentation

* Updated docker testing again

* Run npm in the frontend directory

* Really run npm in the frontend directory

* Also run npm in frontend when setting up travis cache

* Change directory for one command only

* Change default test driver name

* CI test change fixes

* Fixed syntax error

* Added dev check

* Trying to fix firefox resizing

* Trying to get tests running

* Stop resizing firefox

* Fixed apple icon spec

* fix host in url helpers for omniauth spec

* Fix omniauth specs

* Fix docs

* Small fixes to docker tests

* Added package.json back in

* Change env variables

Co-authored-by: Markus Kahl <machisuji@gmail.com>
2020-11-12 14:05:03 +00:00
Benjamin Bädorf a8dfb55345 Updated local development docker setup
There are now separate containers for testing purposes, and the frontend container is a node-only image. Containers run
with a user that has the current user id and gid, making sure that any files that are installed by bundler or npm are
user-owned.

Selenium tests can be ran, but not all of them work yet.
2020-10-05 15:04:33 +02:00