farmOS/docker
Michael Stenta 394daa9f06 Reference non-existent farmos/farmos:2.x.y Docker tag in production hosting docs/examples.
By doing this, we will be forcing the end-user to follow best
practice by making an intentional decision about the version
they will use. We do not want farmos/farmos:2.x to be referenced
by default in the docs, otherwise we will be directing folks to
use the development branch, which may not be stable, and may
change if they update the image via `docker pull`. We also don't
want to recommend farmos/farmos:latest, for a similar reason:
when updating between versions it is important to manually run
update.php. By forcing intentional version use and updates, we
encourage best practice for updates as well.
2021-12-23 07:10:22 -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 Set version in farm.info.yml via build-farmOS.sh. 2021-12-09 09:58:57 -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.