farmOS/docker
Paul Weidner bef4f25032 Add allow-plugins config #467 2022-01-03 15:53:30 -05:00
..
dev Only change the www-data ID right before it is needed. #457 2021-10-18 09:10:17 -04:00
Dockerfile Set PHP expose_php to Off. 2021-09-14 14:44:15 -04:00
README.md Reference non-existent farmos/farmos:2.x.y Docker tag in production hosting docs/examples. 2021-12-23 07:10:22 -05:00
build-farmOS.sh Add allow-plugins config #467 2022-01-03 15:53:30 -05:00
docker-compose.development.yml Add chrome service definition to docker-compose.development.yml. 2021-08-23 09:18:57 -04:00
docker-compose.production.yml Reference non-existent farmos/farmos:2.x.y Docker tag in production hosting docs/examples. 2021-12-23 07:10:22 -05:00
docker-compose.testing.common.yml Remove test-runner service. 2021-09-02 14:44:51 -04:00
docker-compose.testing.mariadb.yml Remove test-runner service. 2021-09-02 14:44:51 -04:00
docker-compose.testing.pgsql.yml Remove test-runner service. 2021-09-02 14:44:51 -04:00
docker-compose.testing.sqlite.yml Remove test-runner service. 2021-09-02 14:44:51 -04:00
docker-entrypoint.sh Wait only as long as necessary for Postgres and the farmOS file copying to be done 2020-11-27 06:53:07 -05:00

README.md

Running farmOS with Docker

This directory contains files necessary to build the farmOS Docker image, along with example docker-compose.yml files that can be used for running farmOS in Docker containers.

Development environment

To run a farmOS development environment, copy docker-compose.development.yml into a new directory on your server, rename it to docker-compose.yml and run docker-compose up.

This example mounts a local www directory on the host as a volume in the container at /opt/drupal, which allows for local development with an IDE.

Production environment

To run a farmOS production environment, use docker-compose.production.yml as an example for building your own configuration. It references a non-existent farmos/farmos:x.y.z image version tag, which should be replaced with the most recent farmOS stable release version.

This example mounts a local sites directory on the host as a volume in the container at /opt/drupal/web/sites, which contains the site-specific settings and uploaded files. This allows a production farmOS instance to be updated by simply pulling a new image (and then manually running database updates via Drush or /update.php). Everything outside of the sites directory will not be preserved and will be replaced with the new official farmOS files.

Note that this example does not include a database. It is assumed that in production environments the database will be managed outside of Docker.

For more information, see https://farmOS.org/hosting.