Files
ip-manager/docker-compose.yml
2026-01-16 19:48:04 +00:00

75 lines
1.7 KiB
YAML

version: '3.8'
services:
# MariaDB Database
mariadb:
image: mariadb:11
container_name: geofeed-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-geofeed_root_secret}
MARIADB_DATABASE: ${DB_NAME:-geofeed_manager}
MARIADB_USER: ${DB_USER:-geofeed}
MARIADB_PASSWORD: ${DB_PASSWORD:-geofeed_secret}
volumes:
- mariadb_data:/var/lib/mysql
- ./database/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro
ports:
- "${DB_PORT:-3306}:3306"
networks:
- geofeed-network
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
# PHP Application
webapp:
build:
context: .
dockerfile: Dockerfile
container_name: geofeed-webapp
restart: unless-stopped
environment:
DB_HOST: mariadb
DB_NAME: ${DB_NAME:-geofeed_manager}
DB_USER: ${DB_USER:-geofeed}
DB_PASS: ${DB_PASSWORD:-geofeed_secret}
ports:
- "${WEB_PORT:-8080}:80"
depends_on:
mariadb:
condition: service_healthy
networks:
- geofeed-network
# Optional: phpMyAdmin for database management
phpmyadmin:
image: phpmyadmin:latest
container_name: geofeed-phpmyadmin
restart: unless-stopped
environment:
PMA_HOST: mariadb
PMA_USER: ${DB_USER:-geofeed}
PMA_PASSWORD: ${DB_PASSWORD:-geofeed_secret}
UPLOAD_LIMIT: 64M
ports:
- "${PMA_PORT:-8081}:80"
depends_on:
mariadb:
condition: service_healthy
networks:
- geofeed-network
profiles:
- admin
volumes:
mariadb_data:
driver: local
networks:
geofeed-network:
driver: bridge