Aşağıdaki komutlar, Debian tabanlı sistemlerde Docker Engine, CLI ve Docker Compose eklentisinin kurulumu için gereklidir.
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo tee /etc/apt/keyrings/docker.asc >/dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginmkdir -p /home/dietpi/nextcloud
cd /home/dietpi/nextcloud
nano docker-compose.ymldocker-compose.yml dosyasına aşağıdaki içeriği yapıştırın:
version: '3'
services:
nextcloud:
image: nextcloud:apache
restart: unless-stopped
ports:
- 8080:80
volumes:
- nextcloud_data:/var/www/html
environment:
- NEXTCLOUD_ADMIN_USER=admin # 👤 Nextcloud admin kullanıcı adı
- NEXTCLOUD_ADMIN_PASSWORD=StrongPass123 # 🔒 Güçlü bir parola belirleyin
- SQLITE_DATABASE=nextcloud.db # 💾 SQLite veritabanı dosyası
volumes:
nextcloud_data:Kaydedip çıkın (CTRL + O, ENTER, CTRL + X).
sudo docker compose up -dBu komut Nextcloud servisini arka planda çalıştırır. 🐳
sudo mkdir -p /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main" | sudo tee /etc/apt/sources.list.d/cloudflared.list
sudo apt-get update
sudo apt-get install -y cloudflaredCloudflare'ın resmi paket deposunu ekleyip
cloudflaredaracını kurarız. ✅
cloudflared tunnel loginTarayıcıda açılan sayfadan hesabınıza giriş yaparak bağlantıyı yetkilendirirsiniz. 🔑
cloudflared tunnel create nextcloud-tunnelTünelinize bir isim verilir ve UUID ile kimlik bilgileri oluşturulur. UUID'yi not edin. 📝
🏠 Ev dizinine config (lokal test için):
Dosya yolu: /home/dietpi/.cloudflared/config.yml
mkdir -p /home/dietpi/.cloudflared
nano /home/dietpi/.cloudflared/config.ymltunnel: <TUNNEL_UUID> # Not ettiğiniz UUID ile değiştirin
credentials-file: /home/dietpi/.cloudflared/<TUNNEL_UUID>.json
url: http://localhost:8080 # Nextcloud'un çalıştığı yerel adres
Kaydedip çıkın (CTRL + O, ENTER, CTRL + X).
📡 Global yapılandırma (hostname yönlendirmesi için):
Dosya yolu: /etc/cloudflared/config.yml
mkdir -p /etc/cloudflared
nano /etc/cloudflared/config.ymltunnel: <TUNNEL_UUID>
credentials-file: /root/.cloudflared/<TUNNEL_UUID>.json
ingress:
- hostname: nextcloud.orneksite.com
service: http://localhost:8080
- service: http_status:404Kaydedip çıkın (CTRL + O, ENTER, CTRL + X).
Bu dosya, tünelin hangi alan adına ve servise yönlendirme yapacağını belirler. 🔄
cloudflared tunnel route dns nextcloud-tunnel nextcloud.orneksite.comTünelinizi alan adınıza bağlar. 🧭
cloudflared tunnel run nextcloud-tunnelTerminal kapatılsa da tünel çalışır, ancak güvenilir değildir.
⚠️
cloudflared service install
sudo systemctl start cloudflaredBu sayede sistem yeniden başlasa bile tünel otomatik çalışır. 🔄
-
Cloudflare Tunnel ile gelen trafik Cloudflare sertifikaları ile HTTPS olarak korunur. 🔒
-
Cloudflare panelinden:
- SSL/TLS Ayarları > Edge Certificates kısmından
Always Use HTTPS seçeneğini aktif edin.
Böylece HTTP istekler otomatik olarak HTTPS'ye yönlendirilir. 🔁
- SSL/TLS Ayarları > Edge Certificates kısmından
Bu, dış erişimde güvenliği artırır ve SSL problemlerini önler. ✔️
docker psdocker exec -it nextcloud-app bashcd /var/www/html/config
apt update
apt install nano
ls -l
nano config.phpconfig.php dosyasında trusted_domains kısmını aşağıdaki gibi güncelleyin:
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'nextcloud.orneksite.com', // Cloudflare tunnel ile erişilen domain
),docker compose restart- 📦 Nextcloud Docker ile kuruldu
- ☁️ Cloudflare Tunnel ile güvenli dış erişim sağlandı
- 🌐 DNS ile alan adı tünele bağlandı
- 🔄 Cloudflared sistem servisi yapıldı, otomatik başlatıldı
- 🔒 Cloudflare panelinden HTTPS zorlandı
- 🛡️ Nextcloud'da trusted_domains ayarlandı
Her adımı doğru uygularsan, güvenli ve sürekli erişilebilir Nextcloud ortamın hazır! 🚀
Hocam merhaba,
Acaba Cloudflare kurulumu ile birlikte Nginx Proxy Manager (Farklı VM yada LXC Conteyner da) kullanımıda yapsak daha güvenilir olur mu?
Bu konuda mevcut paylaşımınızda nasıl kurmalıyız?
Ek olarak kurulumunuzda yer alan adınlar tüneli local olarak mı yönetiyor? Yoksa external Cloudflare Cloud mı yönetmiş oluyor?
Ellerinize sağlık.
Teşekkür ederim.