يمنحك Nextcloud مزامنة الملفات والتقويمات وجهات الاتصال وتحرير المستندات على خادم تتحكم فيه، بدلاً من تسليم ملفاتك إلى مزوّد سحابي كبير. إليك كيفية تشغيله على VPS باستخدام Docker Compose.
قبل أن تبدأ
- VPS بمعالجين افتراضيين 2 vCPU وذاكرة 4 GB من RAM بداية مريحة. التخزين هو القيد الرئيسي، لذا اختر حجم قرص يناسب ملفاتك.
- نطاق موجَّه إلى الخادم، وهو مشروح في دليل DNS لدينا.
- Docker مثبّت، راجع تثبيت Docker على Ubuntu.
1. ملف Compose
mkdir -p ~/nextcloud && cd ~/nextcloud
cat > compose.yaml <<'EOF'
services:
db:
image: mariadb:11
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
environment:
MYSQL_ROOT_PASSWORD: change-me-root
MYSQL_PASSWORD: change-me-db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
volumes:
- db:/var/lib/mysql
redis:
image: redis:7-alpine
restart: unless-stopped
app:
image: nextcloud:stable
restart: unless-stopped
depends_on: [db, redis]
ports:
- "127.0.0.1:8080:80"
environment:
MYSQL_HOST: db
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: change-me-db
REDIS_HOST: redis
volumes:
- nc:/var/www/html
volumes:
db:
nc:
EOF
docker compose up -d
غيّر كلمات المرور الثلاث كلها قبل التشغيل. استخدم سلاسل عشوائية طويلة.
2. ضع HTTPS في الواجهة
أضف كتلة خادم Nginx تمرّر الطلبات إلى 127.0.0.1:8080، ثم شغّل Certbot كما في دليل Nginx لدينا. تحتاج كتلة الوكيل إلى هذه الأسطر ليرى Nextcloud البروتوكول الصحيح وتعمل عمليات الرفع الكبيرة:
client_max_body_size 2G;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
3. أنهِ الإعداد
افتح نطاقك وأنشئ حساب المسؤول. ثم أضف نطاقك إلى القائمة الموثوقة واضبط تفاصيل الوكيل:
docker compose exec -u www-data app php occ config:system:set trusted_domains 1 --value=cloud.example.com
docker compose exec -u www-data app php occ config:system:set overwriteprotocol --value=https
4. حافظ على سلامته
- التحديثات:
docker compose pull && docker compose up -d، إصداراً رئيسياً واحداً في كل مرة. - المهام الخلفية: بدّل إلى Cron في إعدادات المسؤول وأضف مُدخل cron على المضيف يشغّل
cron.phpكل خمس دقائق. - النسخ الاحتياطية: احفظ المجلدين (volumes) معاً مع تفريغ لقاعدة البيانات. راجع كيفية النسخ الاحتياطي لـ VPS.
- تسجيل الدخول بخطوتين: فعّل تطبيق TOTP لكل حساب.