# 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: