2026-01-09 10:35:33 +00:00
|
|
|
|
version: "3.2"
|
|
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
|
hanumanit_default:
|
|
|
|
|
|
driver: bridge
|
|
|
|
|
|
|
2025-12-26 03:03:19 +00:00
|
|
|
|
services:
|
|
|
|
|
|
frontend:
|
|
|
|
|
|
build: frontend
|
|
|
|
|
|
ports:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
- 10060:80
|
|
|
|
|
|
environment:
|
|
|
|
|
|
- APP_ENV=${APP_ENV}
|
|
|
|
|
|
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
2025-12-26 03:03:19 +00:00
|
|
|
|
volumes:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
# Re-use ldockerocal composer cache via host-volume
|
|
|
|
|
|
- /volume1/docker/patho.pathology.plus/cache:/root/.composer/cache:delegated
|
2025-12-26 03:03:19 +00:00
|
|
|
|
# Mount source-code for development
|
|
|
|
|
|
- ./:/app
|
|
|
|
|
|
|
|
|
|
|
|
backend:
|
|
|
|
|
|
build: backend
|
|
|
|
|
|
ports:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
- 10061:80
|
|
|
|
|
|
environment:
|
|
|
|
|
|
- APP_ENV=${APP_ENV}
|
|
|
|
|
|
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
2025-12-26 03:03:19 +00:00
|
|
|
|
volumes:
|
|
|
|
|
|
# Re-use local composer cache via host-volume
|
2026-01-09 10:35:33 +00:00
|
|
|
|
- /volume1/docker/patho.pathology.plus/cache:/root/.composer/cache:delegated
|
|
|
|
|
|
# Mount source-code for development
|
|
|
|
|
|
- ./:/app
|
|
|
|
|
|
|
|
|
|
|
|
api:
|
|
|
|
|
|
build: api
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- 10062:80
|
|
|
|
|
|
environment:
|
|
|
|
|
|
- APP_ENV=${APP_ENV}
|
|
|
|
|
|
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
# Re-use local composer cache via host-volume
|
|
|
|
|
|
- /volume1/docker/patho.pathology.plus/cache:/root/.composer/cache:delegated
|
2025-12-26 03:03:19 +00:00
|
|
|
|
# Mount source-code for development
|
|
|
|
|
|
- ./:/app
|
|
|
|
|
|
|
|
|
|
|
|
mariadb:
|
|
|
|
|
|
image: mariadb:latest
|
|
|
|
|
|
environment:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
MYSQL_ROOT_PASSWORD: Dd157344121165
|
|
|
|
|
|
MYSQL_DATABASE: patho_main
|
|
|
|
|
|
MYSQL_USER: patho_main
|
|
|
|
|
|
MYSQL_PASSWORD: Dd157344121165
|
|
|
|
|
|
TZ: Asia/Bangkok
|
2025-12-26 03:03:19 +00:00
|
|
|
|
ports:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
- "10063:3306"
|
2025-12-26 03:03:19 +00:00
|
|
|
|
volumes:
|
|
|
|
|
|
- mariadb_data:/var/lib/mysql
|
|
|
|
|
|
|
|
|
|
|
|
phpmyadmin:
|
|
|
|
|
|
image: phpmyadmin/phpmyadmin:latest
|
|
|
|
|
|
environment:
|
|
|
|
|
|
PMA_HOST: mariadb
|
2026-01-09 10:35:33 +00:00
|
|
|
|
MYSQL_ROOT_PASSWORD: Dd157344121165
|
2025-12-26 03:03:19 +00:00
|
|
|
|
ports:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
- "10064:80"
|
2025-12-26 03:03:19 +00:00
|
|
|
|
depends_on:
|
|
|
|
|
|
- mariadb
|
|
|
|
|
|
networks:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
- hanumanit_default
|
|
|
|
|
|
|
|
|
|
|
|
redis:
|
|
|
|
|
|
image: redis:8-alpine
|
|
|
|
|
|
command:
|
|
|
|
|
|
[
|
|
|
|
|
|
"redis-server",
|
|
|
|
|
|
"/usr/local/etc/redis/redis.conf",
|
|
|
|
|
|
"--appendonly",
|
|
|
|
|
|
"yes",
|
|
|
|
|
|
"--requirepass",
|
|
|
|
|
|
"${REDIS_PASSWORD}",
|
|
|
|
|
|
]
|
|
|
|
|
|
environment:
|
|
|
|
|
|
- TZ=Asia/Bangkok
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- "23205:6379" # ถ้าอยากให้เครื่องนอก container ต่อได้; ถ้าไม่จำเป็นตัดบรรทัดนี้ออก
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
- redis_data:/data
|
|
|
|
|
|
- ./redis.conf:/usr/local/etc/redis/redis.conf:ro
|
|
|
|
|
|
healthcheck:
|
|
|
|
|
|
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
|
|
|
|
|
|
interval: 10s
|
|
|
|
|
|
timeout: 3s
|
|
|
|
|
|
retries: 5
|
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
networks:
|
|
|
|
|
|
- hanumanit_default
|
|
|
|
|
|
|
|
|
|
|
|
# (ตัวเลือก) GUI ดูค่าใน Redis – ใช้อันใดอันหนึ่งพอ
|
|
|
|
|
|
redisinsight:
|
|
|
|
|
|
image: redis/redisinsight:latest
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- "23206:5540"
|
|
|
|
|
|
depends_on: [redis]
|
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
- redisinsight_data:/data
|
|
|
|
|
|
networks:
|
|
|
|
|
|
- hanumanit_default
|
2025-12-26 03:03:19 +00:00
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
mariadb_data:
|
2026-01-09 10:35:33 +00:00
|
|
|
|
redisinsight_data:
|
|
|
|
|
|
redis_data:
|