You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've already recreated parts of the docker-deployment, but there is still one improvement to make:
The current docker-image does mount the root of the repo as root of the php-application.
This is nice for development (easy access to the files) and makes updates from the webinterface easy (just override the files directly), but has many downsides for productive environment (security and permission issues, off-standard docker-images and it makes crater difficult to deploy migrate).
A perfectly designed docker-images does provide different versions based on labels and does contain anything for the application to run by itself. Persistent data should be mounted in a volume (or in a directory with a bind-mount) or should be stored in the database (which should be persistent with a volume or bind-mount). It is getting configured by environment-variables, docker-secrets and/or a single config-file to mount from the host
For crater that would mean: run crater, ofelia and mariadb (for example) and any reverse-proxy with standard-containers and only have deployment-depended information in some directories of crater which are mounted to the host and the database.
To which directories does crater write information and could we achieve that we only use some directories for that?
(at the moment I think the env-file [which could be replaced by env in docker-compose.yml or Dockerfile], modules, custom templating and [wherever this is set] the flag to mark that crater has already been set up)
The text was updated successfully, but these errors were encountered:
I've already recreated parts of the docker-deployment, but there is still one improvement to make:
The current docker-image does mount the root of the repo as root of the php-application.
This is nice for development (easy access to the files) and makes updates from the webinterface easy (just override the files directly), but has many downsides for productive environment (security and permission issues, off-standard docker-images and it makes crater difficult to deploy migrate).
A perfectly designed docker-images does provide different versions based on labels and does contain anything for the application to run by itself. Persistent data should be mounted in a volume (or in a directory with a bind-mount) or should be stored in the database (which should be persistent with a volume or bind-mount). It is getting configured by environment-variables, docker-secrets and/or a single config-file to mount from the host
For crater that would mean: run crater, ofelia and mariadb (for example) and any reverse-proxy with standard-containers and only have deployment-depended information in some directories of crater which are mounted to the host and the database.
To which directories does crater write information and could we achieve that we only use some directories for that?
(at the moment I think the env-file [which could be replaced by env in docker-compose.yml or Dockerfile], modules, custom templating and [wherever this is set] the flag to mark that crater has already been set up)
The text was updated successfully, but these errors were encountered: