الملفات
backup_tool/docker-compose.yml

53 أسطر
1.4 KiB
YAML

# docker-compose.yml
# نسخة معدلة ومحسّنة للعمل على المنصات السحابية
version: '3.8'
services:
# الخدمة الأولى: قاعدة البيانات PostgreSQL
postgresql:
image: postgres:16-alpine
container_name: ilibrary_db_container
restart: always
environment:
POSTGRES_DB: ilibrarydb
POSTGRES_USER: abdyousef
POSTGRES_PASSWORD: ilibrary2025!
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- app-network
# ✅ **الجديد هنا: تحديد حدود الموارد**
# هذا يمنع قاعدة البيانات من استهلاك كل ذاكرة السيرفر
deploy:
resources:
limits:
memory: 512M
# الخدمة الثانية: تطبيق Next.js الخاص بك
app:
build: .
container_name: ilibrary_app_container
restart: always
ports:
- "3000:3000"
depends_on:
- postgresql
environment:
DATABASE_URL: "postgresql://abdyousef:ilibrary2025!@postgresql:5432/ilibrarydb"
NEXT_PUBLIC_API_URL: "http://localhost:3000/api"
networks:
- app-network
# ✅ **الجديد هنا: تحديد حدود الموارد للتطبيق أيضاً**
deploy:
resources:
limits:
memory: 512M
networks:
app-network:
driver: bridge
volumes:
postgres_data: