farmOS/docker
Michael Stenta 131c2a54ba Use php-geos GitHub repo mirror for Docker builds.
The official repo (https://git.osgeo.org/gitea/geos/php-geos)
has been failing git clone during GitHub Actions recently.
Using the GitHub mirror will reduce the load we are putting
on OSGeo's self-hosted servers too.
2023-05-19 08:10:54 -04:00
..
dev Exclude PHP CodeSniffer rule: Drupal.InfoFiles.AutoAddedKeys.Version Project 2023-01-27 16:30:24 -05:00
Dockerfile Use php-geos GitHub repo mirror for Docker builds. 2023-05-19 08:10:54 -04:00
README.md Replace all usages of docker-compose with docker compose. 2023-03-30 09:43:07 -04:00
build-farmOS.sh Add PHPStan dependencies: phpstan/phpstan, phpstan/phpstan-deprecation-rules, phpstan/extension-installer, mglaman/phpstan-drupal. 2022-09-12 19:38:23 -04:00
docker-compose.development.yml Update XDebug documentation to recommend discover_client_host=yes. 2022-11-12 10:29:57 -05: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 Pin selenium/standalone-chrome to 4.1.2-20220217. #514 2022-04-07 11:24:01 -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.