Nextcloud आपको फ़ाइल सिंक, कैलेंडर, संपर्क और दस्तावेज़ संपादन देता है, आपके नियंत्रण वाले सर्वर पर, अपनी फ़ाइलें किसी बड़े क्लाउड प्रदाता को सौंपने के बजाय। यहाँ बताया गया है कि इसे Docker Compose के साथ VPS पर कैसे चलाएँ।
शुरू करने से पहले
- 2 vCPU और 4 GB RAM वाला VPS आरामदायक शुरुआत है। स्टोरेज मुख्य बाधा है, इसलिए अपनी फ़ाइलों के हिसाब से डिस्क का आकार चुनें।
- सर्वर की ओर इंगित करता एक डोमेन, जो हमारी DNS गाइड में बताया गया है।
- Docker इंस्टॉल हो, Ubuntu पर Docker इंस्टॉल करें देखें।
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 पर प्रॉक्सी करे, फिर हमारी Nginx गाइड की तरह Certbot चलाएँ। प्रॉक्सी ब्लॉक में ये पंक्तियाँ चाहिए ताकि 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.phpचलाने वाली cron प्रविष्टि जोड़ें। - बैकअप: दोनों वॉल्यूम और डेटाबेस डंप सहेजें। VPS का बैकअप कैसे लें देखें।
- टू-फ़ैक्टर लॉगिन: हर खाते के लिए TOTP ऐप चालू करें।