feat: ummah2.falahos.my WordPress stack on Contabo + falah-shortcodes plugin

- docker-compose.yml: MariaDB 11 + WordPress 6.7 PHP8.3-FPM + Nginx
- nginx/default.conf: FastCGI pass, security headers, cache headers
- deploy.sh: one-command spin-up with WP-CLI install + plugin activation
- migrate-from-cpanel.sh: import cPanel backup (SQL/tar.gz/zip) with URL rewrite
- wordpress-plugins/falah-shortcodes: prayer times, dhikr, qibla, daily verse, nur/wallet/souq iframes
- wordpress-plugins/hermes-ai-bridge: REST API bridge with plugin install/activate endpoints

Migration path: cPanel → Contabo Docker (Imunify360 bypass)
This commit is contained in:
Antigravity AI
2026-07-06 18:31:41 +08:00
parent defeb7f2d2
commit d51e1b54bd
8 changed files with 353 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
version: "3.9"
services:
db:
image: mariadb:11
container_name: ummah-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ummah_wp
MYSQL_USER: ummah_wp
MYSQL_PASSWORD: ${DB_PASSWORD}
volumes:
- ummah-db-data:/var/lib/mysql
networks:
- ummah-net
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
wordpress:
image: wordpress:6.7-php8.3-fpm-alpine
container_name: ummah-wp
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: ummah_wp
WORDPRESS_DB_USER: ummah_wp
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
WORDPRESS_TABLE_PREFIX: wp_
WORDPRESS_DEBUG: "false"
# Performance
PHP_MEMORY_LIMIT: 256M
PHP_MAX_EXECUTION_TIME: 300
PHP_UPLOAD_MAX_FILESIZE: 64M
PHP_POST_MAX_SIZE: 64M
volumes:
- ummah-wp-data:/var/www/html
- ./wordpress-config/php.ini:/usr/local/etc/php/conf.d/ummah.ini:ro
networks:
- ummah-net
nginx:
image: nginx:alpine
container_name: ummah-nginx
restart: unless-stopped
depends_on:
- wordpress
ports:
- "8888:80"
volumes:
- ummah-wp-data:/var/www/html:ro
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- ummah-net
wpcli:
image: wordpress:cli-2-php8.3
container_name: ummah-wpcli
depends_on:
- wordpress
- db
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: ummah_wp
WORDPRESS_DB_USER: ummah_wp
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
volumes:
- ummah-wp-data:/var/www/html
networks:
- ummah-net
entrypoint: ["tail", "-f", "/dev/null"]
profiles: ["tools"]
networks:
ummah-net:
driver: bridge
volumes:
ummah-db-data:
ummah-wp-data: