feat: add Docker setup exposing app on port 7876
- Dockerfile: php:apache base, installs PHP extensions + Composer, configures Apache to listen on port 7876, bundles app code, runs composer install at build time - docker-compose.yml: web service (port 7876) + MariaDB LTS with healthcheck; writable volume for DB persistence - docker/entrypoint.sh: generates .env from environment variables at container start, fixes runtime permissions - docker/php.ini: tuned PHP limits (512M memory, 32M upload) - .dockerignore: excludes .git, vendor, logs, cache, old docker dir - .env.example: template for required environment variables Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
43
docker-compose.yml
Normal file
43
docker-compose.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
services:
|
||||
web:
|
||||
build: .
|
||||
container_name: domnitor-web
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "7876:7876"
|
||||
environment:
|
||||
DB_HOST: db
|
||||
DB_PORT: "3306"
|
||||
DB_DATABASE: ${DB_DATABASE:-domain_monitor}
|
||||
DB_USERNAME: ${DB_USERNAME:-domain_monitor}
|
||||
DB_PASSWORD: ${DB_PASSWORD:-changeme}
|
||||
APP_ENV: ${APP_ENV:-production}
|
||||
TZ: ${TZ:-UTC}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
|
||||
db:
|
||||
image: mariadb:lts
|
||||
container_name: domnitor-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MARIADB_DATABASE: ${DB_DATABASE:-domain_monitor}
|
||||
MARIADB_USER: ${DB_USERNAME:-domain_monitor}
|
||||
MARIADB_PASSWORD: ${DB_PASSWORD:-changeme}
|
||||
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootchangeme}
|
||||
TZ: ${TZ:-UTC}
|
||||
command:
|
||||
- "--character-set-server=utf8mb4"
|
||||
- "--collation-server=utf8mb4_unicode_ci"
|
||||
volumes:
|
||||
- dbdata:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
start_period: 15s
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
dbdata:
|
||||
Reference in New Issue
Block a user