تثبيت Coolify: نشر التطبيقات مع PaaS المستضاف ذاتياً
تثبيت Coolify، تكامل Docker وGit، نشر التطبيقات، إدارة قواعد البيانات، شهادات SSL، متغيرات البيئة وبديل PaaS المستضاف ذاتياً لـ Heroku/Netlify.
تثبيت Immich عبر Docker، نسخ احتياطي تلقائي للصور والفيديو، التعرف على الوجوه، عرض الخريطة، الألبومات المشتركة، التطبيق المحمول وبديل Google Photos المستضاف ذاتياً.
Immich هي منصة نسخ احتياطي للصور والفيديو مستضافة ذاتياً، طُوّرت كبديل مفتوح المصدر لـ Google Photos. تقدم ميزات حديثة مثل النسخ الاحتياطي التلقائي عبر تطبيقات الهاتف، التعرف على الوجوه، عرض الخريطة والألبومات المشتركة.
Immich يتيح لك استضافة مجموعة الصور والفيديو على خادمك الخاص:
version: '3.8'
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- "2283:2283"
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: redis:6.2-alpine
restart: always
database:
container_name: immich_postgres
image: tensorchord/pgvecto-rs:pg14-v0.2.0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
volumes:
pgdata:
model-cache:
UPLOAD_LOCATION=/data/immich/upload
DB_PASSWORD=StrongPass123!
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
mkdir -p /data/immich/upload
docker compose up -d
docker logs immich_server -f
الوصول إلى واجهة Immich الويب: http://IP_الخادم:2283. ستحتاج لإنشاء حساب مسؤول عند أول تسجيل دخول.
server {
listen 443 ssl http2;
server_name photos.example.com;
ssl_certificate /etc/letsencrypt/live/photos.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/photos.example.com/privkey.pem;
client_max_body_size 50000M;
location / {
proxy_pass http://127.0.0.1:2283;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
}
}
https://photos.example.comservices:
immich-server:
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /mnt/photos:/mnt/photos:ro
# نسخ احتياطي لقاعدة البيانات
docker exec immich_postgres pg_dumpall -U postgres | \
gzip > /backups/immich-db-$(date +%Y%m%d).sql.gz
# نسخ احتياطي لمجلد الرفع
rsync -avz /data/immich/upload/ /backups/immich-upload/
docker exec immich_postgres pg_dumpall -U postgres > immich-backup.sql
docker compose pull
docker compose up -d
Immich لا يزال قيد التطوير النشط. التحديثات الكبيرة قد تحتوي على تغييرات غير متوافقة. دائماً انسخ قاعدة البيانات احتياطياً قبل التحديث واقرأ ملاحظات الإصدار.
Immich بديل قوي ومستضاف ذاتياً لـ Google Photos. مع 8 جيجابايت RAM على خوادم REXE يمكنك إدارة آلاف الصور بسلاسة.
مساحة القرص تعتمد كلياً على حجم مجموعة الصور/الفيديو. يخزن Immich الملفات الأصلية وينشئ صوراً مصغرة إضافية (~10-15% مساحة إضافية). لـ 10,000 صورة توقع حوالي 50-100 جيجابايت؛ أكثر بكثير مع مجموعات الفيديو. ذاكرة التخزين المؤقت لنماذج ML تحتاج ~2 جيجابايت إضافية.
تحقق من: 1) URL الخادم صحيح (بما في ذلك https://)، 2) المنفذ 2283 مفتوح في جدار الحماية، 3) عند استخدام Nginx reverse proxy تأكد من تفعيل دعم WebSocket، 4) شهادة SSL صالحة (الشهادات الموقّعة ذاتياً قد تسبب مشاكل على الهاتف).
تحقق من أن حاوية ML تعمل (docker ps). المسح الأول قد يستغرق ساعات للمجموعات الكبيرة. يتطلب حد أدنى 4 جيجابايت RAM (يُنصح بـ 8 جيجابايت). تأكد من تفعيل التعرف على الوجوه في Administration → Machine Learning.
طريقتان: 1) المكتبة الخارجية — اربط مجلد الصور كـ volume للقراءة فقط وامسحه من Administration → External Libraries. 2) أداة CLI — رفع جماعي بـ immich-cli: npx immich upload --recursive /path/to/photos. المكتبة الخارجية تقرأ الملفات في مكانها دون نسخ.
إذا كان لديك نسخة احتياطية لقاعدة البيانات يمكنك استعادتها. أوقف جميع الحاويات: docker compose down. حمّل الصور مجدداً: docker compose pull. شغّل: docker compose up -d. تحقق من السجلات: docker logs immich_server.
مزايا Immich: بياناتك تبقى معك، لا حدود للتخزين، مجاني ومفتوح المصدر. العيوب: تحتاج إدارة خادمك الخاص، ليس متقدماً مثل ميزات AI من Google (لكنه يتحسن بسرعة)، لم يصل بعد إلى الإصدار المستقر 1.0. الميزات الأساسية (النسخ الاحتياطي، التعرف على الوجوه، البحث، المشاركة) متوفرة.
تثبيت Coolify، تكامل Docker وGit، نشر التطبيقات، إدارة قواعد البيانات، شهادات SSL، متغيرات البيئة وبديل PaaS المستضاف ذاتياً لـ Heroku/Netlify.
تثبيت Nextcloud مع Docker، تهيئة Apache/Nginx، إعداد قاعدة البيانات، شهادة SSL، مزامنة الملفات، متجر التطبيقات وتحسين الأداء.
تثبيت Portainer CE، إدارة Docker وKubernetes، نشر الـ stacks، إدارة الأحجام/الشبكات، تفويض المستخدمين، Webhooks وتكامل GitOps.