From a412ce06076f383d2bc48282be16a3c310f43288 Mon Sep 17 00:00:00 2001 From: wompmacho Date: Tue, 30 Jun 2026 20:35:53 +0000 Subject: [PATCH] adding farmOS docker container --- docker_compose/farmOS/.gitignore | 18 ++++++++++ docker_compose/farmOS/docker-compose.yaml | 40 +++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 docker_compose/farmOS/.gitignore create mode 100644 docker_compose/farmOS/docker-compose.yaml diff --git a/docker_compose/farmOS/.gitignore b/docker_compose/farmOS/.gitignore new file mode 100644 index 0000000..b3b1acd --- /dev/null +++ b/docker_compose/farmOS/.gitignore @@ -0,0 +1,18 @@ +# ------------------------------------------------------------------------------ +# SECRETS AND CREDENTIALS (NEVER COMMIT THESE) +# ------------------------------------------------------------------------------ + +# Environment variables (API keys, DB passwords, etc.) +.env +.env.* +!.env.example + +# Local Development DBs (often contain real-ish data) +*.db +*.sqlite +dump.rdb + +# Data +/keys +/sites +/db \ No newline at end of file diff --git a/docker_compose/farmOS/docker-compose.yaml b/docker_compose/farmOS/docker-compose.yaml new file mode 100644 index 0000000..4b1a274 --- /dev/null +++ b/docker_compose/farmOS/docker-compose.yaml @@ -0,0 +1,40 @@ +# farmOS - https://farmos.org/ - https://git.drupalcode.org/project/farm/-/blob/4.x/docker/docker-compose.production.yml?ref_type=heads +--- +services: + farmOS-db: + container_name: farmOS-db + image: postgres:17 + volumes: + - './db:/var/lib/postgresql/data' + environment: + # Set a strong password and optionally change the user/database name. + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: ${POSTGRES_DB} + restart: unless-stopped + + farmOS-www: + container_name: farmOS-www + depends_on: + - farmOS-db + # Update this to the latest stable version before deploying. + image: farmos/farmos:latest + volumes: + - './sites:/opt/drupal/web/sites' + - './keys:/opt/drupal/keys' + ports: + - '${FARMOS_HTTP_PORT}:80' + restart: unless-stopped + labels: + # Nginx Proxy Manager Automation + - "npm.proxy.domains=farm.wompmacho.com" + - "npm.proxy.host=${DOCKER_HOST_IP}" + - "npm.proxy.port=${FARMOS_HTTP_PORT}" + - "npm.proxy.scheme=http" + - "npm.proxy.ssl_verify=false" + - "npm.proxy.websockets=true" + - "npm.proxy.ssl.force=true" + - "npm.proxy.ssl.certificate.id=2" + #- "npm.proxy.advanced.config=location = / { return 301 /guacamole/; }" + # Pi-hole Automation (Point to Docker Host/Proxy IP) + - "pihole.custom-record=[[\"farm.wompmacho.com\", \"${DOCKER_HOST_IP}\"]]" \ No newline at end of file