شرح مختصر للتعديلات اللي عملتها
هذا الالتزام موجود في:
52
docker-compose.yml
Normal file
52
docker-compose.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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:
|
المرجع في مشكلة جديدة
حظر مستخدم