# Falah OS CE — Optional Community Extras # Heavy open-source tools for advanced communities. # # Usage (add on top of the main stack): # docker compose -f docker-compose.yml -f docker-compose.extras.yml up -d # # Or enable individual services: # docker compose -f docker-compose.yml -f docker-compose.extras.yml up -d rocketchat mattermost-db mattermost # # Requirements: additional 4 GB RAM recommended. services: # --------------------------------------------------------------------------- # Rocket.Chat — Full-featured community messaging # Access: http://:3100 # Replaces the built-in chat service for large communities # --------------------------------------------------------------------------- rocketchat: image: rocket.chat:6 container_name: falah-rocketchat ports: - "3100:3000" environment: - MONGO_URL=mongodb://mongo-rc:27017/rocketchat - MONGO_OPLOG_URL=mongodb://mongo-rc:27017/local - ROOT_URL=http://localhost:3100 - PORT=3000 - DEPLOY_PLATFORM=docker depends_on: - mongo-rc networks: - falah-network restart: unless-stopped mongo-rc: image: mongo:6 container_name: falah-mongo-rc command: mongod --oplogSize 128 --replSet rs0 volumes: - mongo-rc-data:/data/db networks: - falah-network restart: unless-stopped mongo-rc-init: image: mongo:6 container_name: falah-mongo-rc-init command: > bash -c "sleep 10 && mongosh --host mongo-rc --eval 'rs.initiate({_id: \"rs0\", members: [{_id: 0, host: \"mongo-rc:27017\"}]})'" depends_on: - mongo-rc networks: - falah-network restart: on-failure # --------------------------------------------------------------------------- # Moodle — Learning Management System # Access: http://:3200 # For madrasah, Islamic college, and structured course delivery # --------------------------------------------------------------------------- moodle: image: bitnami/moodle:latest container_name: falah-moodle ports: - "3200:8080" environment: - MOODLE_DATABASE_HOST=moodle-db - MOODLE_DATABASE_PORT_NUMBER=3306 - MOODLE_DATABASE_NAME=moodle - MOODLE_DATABASE_USER=moodle - MOODLE_DATABASE_PASSWORD=${POSTGRES_PASSWORD} - MOODLE_USERNAME=admin - MOODLE_PASSWORD=${ADMIN_SECRET} - MOODLE_EMAIL=admin@falah.os - MOODLE_SITE_NAME=Falah OS Learning depends_on: - moodle-db volumes: - moodle-data:/bitnami/moodle - moodle-data-dir:/bitnami/moodledata networks: - falah-network restart: unless-stopped moodle-db: image: mariadb:10.6 container_name: falah-moodle-db environment: - MARIADB_ROOT_PASSWORD=${POSTGRES_PASSWORD} - MARIADB_DATABASE=moodle - MARIADB_USER=moodle - MARIADB_PASSWORD=${POSTGRES_PASSWORD} volumes: - moodle-db-data:/var/lib/mysql networks: - falah-network restart: unless-stopped # --------------------------------------------------------------------------- # Nextcloud — File sharing, calendar, contacts, collaborative docs # Access: http://:3300 # For neighbourhood committees, college research, document sharing # --------------------------------------------------------------------------- nextcloud: image: nextcloud:28-apache container_name: falah-nextcloud ports: - "3300:80" environment: - POSTGRES_HOST=nextcloud-db - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - NEXTCLOUD_ADMIN_USER=admin - NEXTCLOUD_ADMIN_PASSWORD=${ADMIN_SECRET} - NEXTCLOUD_TRUSTED_DOMAINS=localhost 192.168.0.17 depends_on: - nextcloud-db volumes: - nextcloud-data:/var/www/html networks: - falah-network restart: unless-stopped nextcloud-db: image: postgres:16-alpine container_name: falah-nextcloud-db environment: - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - nextcloud-db-data:/var/lib/postgresql/data networks: - falah-network restart: unless-stopped volumes: mongo-rc-data: moodle-data: moodle-data-dir: moodle-db-data: nextcloud-data: nextcloud-db-data: