🐳 Docker Compose ile Eksiksiz Dağıtım Rehberi
Loomix ekosisteminin tüm 10 servisini tek bir sanal sunucu (VPS) üzerinde en yüksek güvenlik ve kararlılıkla yayınlamak için adım adım pratik rehber.
1. Sunucu Ön Koşulları (Prerequisites)
Başlamadan önce Ubuntu 22.04 LTS veya 24.04 LTS çalıştıran bir VPS sunucu hazırlayın:
- Minimum RAM: En az 4GB Swap alanı ile 4GB RAM (en iyi derleme performansı için 8GB önerilir).
- İşlemci: En az 2 vCPU (hızlı Docker derlemeleri için 4 vCPU önerilir).
Docker Soket İzinleri
Docker ve Docker Compose kurulu olmalı, geçerli kullanıcı docker grubuna eklenmelidir.
sudo usermod -aG docker $USERnewgrp docker # or log out and SSH back indocker ps # should work without sudo2. Proje Kodunu Sunucuya Aktarma
Proje dosyalarını sunucunuza aktarmak için iki yöntemden birini kullanabilirsiniz:
1. Yöntem: Git ile Doğrudan Klonlama (Önerilen)
Ortam Değişkenlerini Güvende Tutun
git clone https://github.com/<YOUR_GITHUB_USERNAME>/<YOUR_REPOSITORY_NAME>.gitcd <YOUR_REPOSITORY_NAME>Özel Depodan SSH Anahtarlarıyla Klonlama
- 1. Sunucuda SSH anahtar çifti üretin: ssh-keygen -t ed25519
- 2. Genel anahtarı görüntüleyin ve kopyalayın: cat ~/.ssh/id_ed25519.pub
- 3. GitHub deponuzun Deploy Keys bölümüne bu anahtarı ekleyin.
- 4. Depoyu SSH üzerinden doğrudan klonlayın.
git clone git@github.com:<YOUR_GITHUB_USERNAME>/<YOUR_REPOSITORY_NAME>.gitcd <YOUR_REPOSITORY_NAME>Kişisel Erişim Belirteci (PAT) ile Klonlama
git clone https://<YOUR_GITHUB_USERNAME>:<PERSONAL_ACCESS_TOKEN>@github.com/<YOUR_GITHUB_USERNAME>/<YOUR_REPOSITORY_NAME>.gitcd <YOUR_REPOSITORY_NAME>2. Yöntem: Arşiv Dosyasını (ZIP / Tarball) Yükleme
Arşiv dosyasını indirdiyseniz, rsync veya scp ile sunucuya yükleyebilirsiniz:
rsync -avz --exclude 'node_modules' --exclude '.git' --exclude '.next' ./ user@your_vps_ip:/root/next-strapi-medusa3. Hızlı Otomatik Kurulum Sihirbazı (Quick Wizard)
Kurulumu zahmetsiz hale getirmek için Swap alanını yapılandıran, portları denetleyen ve konteynerleri adım adım kuran server-setup.sh betiğini hazırladık:
chmod +x server-setup.shbash server-setup.shProfesyonel İpucu:
4. Dağıtım Profilini Seçme (Deployment Profiles)
Sistem yerel geliştirmeden büyük ölçekli üretime kadar 3 farklı dağıtım profilini destekler:
Özel Bir Alan Adına (Domain) İhtiyacınız Var mı?
Tek bir VPS sunucu üzerinde tüm servisleri alt alan adlarıyla çalıştırır; Caddy ile otomatik SSL sağlar.
Profil B Kurulum Adımları:
- 1. DNS A kayıtlarınızı sunucunuzun IP adresine yönlendirin.
- 2. server-setup.sh çalışırken Profil B'yi seçin.
- 3. Ana alan adınızı (örn: alanadiniz.com) girin.
- 4. Caddy tüm 10 servis için otomatik SSL sertifikası temin eder.
- 5. Tüm yönetim panelleri HTTPS üzerinden anında kullanıma hazır olur.
# Profile B: VM / LAN HTTPS (.local hostnames) - Recommended ★ STOREFRONT_PUBLIC_URL=https://store.localMEDUSA_BACKEND_PUBLIC_URL=https://api.localSTRAPI_PUBLIC_URL=https://admin.localMEILISEARCH_PUBLIC_URL=https://search.localMINIO_PUBLIC_URL=https://api.local/minio/mystoreGOOGLE_CALLBACK_URL=https://store.local/ir/account/auth/callback STOREFRONT_URL=http://storefront:8000MEDUSA_NODE_ENV=productionMEDUSA_ALLOW_HTTP_COOKIES=falseCLOUDFLARE_TUNNEL_TOKEN=• Mağaza:
https://alanadiniz.com• Medusa:
https://api.alanadiniz.com/app• Strapi:
https://admin.alanadiniz.com/admin• Umami:
https://analytics.alanadiniz.com• OpenObserve:
https://monitor.alanadiniz.comCloudflare Edge Hardening Güvenlik Rehberi
DNS'i Cloudflare'a Yönlendirmeden Önce:
Yönlendirme döngülerini (Redirect Loops) önlemek için Cloudflare SSL ayarını Full (Strict) olarak ayarlayın.
2. Servisler Çalıştıktan Sonra (Dağıtım Sonrası Güvenlik Sıkılaştırma):
• SSL/TLS Şifreleme Modu: Full (Strict) olarak ayarlayın.
• Edge Sertifikaları: Always Use HTTPS, Automatic HTTPS Rewrites seçeneklerini etkinleştirin ve Minimum TLS Sürümünü TLS 1.2 (veya 1.3) yapın.
• DNS Proxying: CDN hızlandırması ve kaynak sunucuyu DDoS saldırılarından gizlemek için tüm DNS kayıtlarını turuncu buluta (Proxied) geçirin.
• Güvenlik / WAF: Bot Fight Mode özelliğini etkinleştirin.
• Ağ (Network): WebSockets ve gRPC protokollerinin açık olduğundan emin olun.
• Önbellekleme: Caching > Configuration altında dinamik sepet ve stok güncellemelerini anında korumak için Browser Cache TTL değerinin Respect Existing Headers olarak ayarlandığını doğrulayın.
HTTP Basic Auth ve Caddy Edge Koruması:
• Strapi Yönetici Paneli (admin.yourdomain.com/admin* ve /): Kaba kuvvet saldırılarını önlemek için HTTP Basic Auth ile korunur. Genel API rotaları (/api/*) ve yüklenen medyalar (/uploads/*), Mağaza Arayüzü ve Medusa'nın 401 hatası almadan veri çekebilmesi için açık kalır.
• OpenObserve Paneli (monitor.yourdomain.com): OpenObserve dahili kimlik bilgilerinin yanı sıra çift katmanlı uç savunma için HTTP Basic Auth ile korunur..env dosyasındaki BASIC_AUTH_HASH için güvenli bir bcrypt özeti oluşturmak için:
docker run --rm caddy:latest caddy hash-password --plaintext "your_secret_password"Dağıtım Profillerine Göre URL ve Port Matrisi
| Servis | Profil A (Yerel) | Profil B (Tek VPS) | Profil C (Kurumsal) |
|---|---|---|---|
| Next.js Mağaza | http://<VM_IP>:8000 | https://store.local | https://yourdomain.com |
| Medusa Arka Ucu | http://<VM_IP>:9000/app | https://api.local/app | https://api.yourdomain.com/app |
| Strapi CMS Paneli | http://<VM_IP>:1337/admin | https://admin.local/admin | https://admin.yourdomain.com/admin |
| Umami Analitik | http://<VM_IP>:3005 | https://analytics.local | https://analytics.yourdomain.com |
| OpenObserve İzleme | http://<VM_IP>:5080 | https://monitor.local | https://monitor.yourdomain.com |
| Arama Motoru (Meilisearch) | 127.0.0.1:7700 | https://search.local | https://search.yourdomain.com |
.env dosyasındaki her Genel URL'nin Anlamı:
STOREFRONT_PUBLIC_URL: Next.js mağazası (Docker içinde 8000 portu veya genel alan adı).MEDUSA_BACKEND_PUBLIC_URL: Medusa API ve Yönetici Paneli (/app).STRAPI_PUBLIC_URL: Strapi CMS (/admin); önizleme bağlantıları STOREFRONT_PUBLIC_URL kullanır.MEILISEARCH_PUBLIC_URL: İstemci tarafı anlık aramalar için genel arama URL'si (Profil A:http://127.0.0.1:7700, Profil B:https://search.local, Profil C:https://search.alanadiniz.com).MINIO_PUBLIC_URL: Medya dosyaları için genel önek (Profil A: http://IP:9001/mystore, Profil B/C: https://api.*/minio/mystore).STOREFRONT_URL: Yalnızca Docker ağı içinde (http://storefront:8000), Medusa -> Storefront önbellek temizleme (revalidation) için dahili adres.
Faz 1'den ÖNCE Ayarlanması Gerekenler:
• Gizli Anahtarlar (openssl rand -hex 32): POSTGRES_PASSWORD, MEILI_MASTER_KEY, tüm STRAPI_* anahtarları, MEDUSA_JWT_SECRET, MEDUSA_COOKIE_SECRET, REVALIDATE_SECRET, UMAMI_APP_SECRET.
• Yönetici Giriş Bilgileri: MEDUSA_ADMIN_EMAIL, MEDUSA_ADMIN_PASSWORD, MINIO_ROOT_USER, MINIO_ROOT_PASSWORD, UMAMI_USERNAME, UMAMI_PASSWORD.
• Genel URL'ler: Yukarıdaki Profil A, B veya C seçeneklerinden birini belirleyin.
İlgili faza kadar boş bırakılacak değişkenler:
• Faz 4: STRAPI_API_TOKEN_FOR_MEDUSA, STRAPI_API_TOKEN_FOR_FRONT
• Faz 6: MEDUSA_PUBLISHABLE_KEY
• Faz 7: MEILI_SEARCH_KEY
• Faz 8: UMAMI_WEBSITE_ID
Medusa Yönetici Paneli Kuralı: Docker içinde her zaman MEDUSA_NODE_ENV=production olarak bırakın. Asla development yapmayın — yönetici arayüzü prodüksiyon olarak derlenmiştir ve geliştirme modu beyaz ekrana yol açar.
5. GitHub Actions CI/CD ile Otomatik Dağıtım
Proje, kod depoya gönderildiğinde otomatik olarak Docker konteynerlerini oluşturan ve sunucunuza dağıtan hazır iş akışları içerir:
- Sunucu IP'sini ve SSH anahtarınızı GitHub Depo Sırlarına (Repository Secrets) ekleyin.
- Ana dala (main branch) her kod gönderildiğinde Next.js ve Medusa konteynerleri otomatik derlenir.
- Sunucuya sinyal gönderilerek kesintisiz (Zero-Downtime) güncelleme tamamlanır.
- 4. (Özel Depo)
repo,workflowveread:packagesizinlerine sahip bir GitHub Kişisel Erişim Belirteci (Classic PAT) oluşturun ve sunucunuzda GitHub Container Registry'ye giriş yapın:
echo "<YOUR_PAT>" | docker login ghcr.io -u <YOUR_GITHUB_USERNAME> --password-stdin10 Aşamalı Dağıtım Süreci (Phases 1-10)
| Aşama | Başlatılan Servisler | Profil A | Profil B / C (Yerel Ağ ve Prodüksiyon) |
|---|---|---|---|
| Aşama 1: | Veritabanları ve Altyapı (Postgres, Redis, MinIO, Meilisearch) | ✅ | ✅ |
| Aşama 2: | Caddy Ters Proxy ve Otomatik SSL (Profil B'de hosts yapılandırması) | ⏭ Atla (Profil A için gerekli değildir) | ✅ Faz 1'in hemen ardından, Strapi'den önce |
| Aşama 3: | Strapi CMS Motoru (GHCR'den imaj çekme) | ✅ | ✅ |
| Aşama 4: | Strapi API Belirteçleri -> .env dosyasına kaydetme | ✅ | ✅ |
| Aşama 5: | Medusa 2.0 Ticaret Motoru (GHCR'den imaj çekme) | ✅ | ✅ |
| Aşama 6: | Medusa Yayınlanabilir Anahtarı -> .env dosyasına kaydetme | ✅ | ✅ |
| Aşama 7: | Meilisearch Yalnızca Arama Anahtarı -> .env dosyasına kaydetme | ✅ | ✅ |
| Aşama 8: | Umami Analitik Paneli (Mağaza arayüzünden önce) | İsteğe bağlı | ✅ |
| Aşama 9: | Next.js Mağaza Arayüzü (GitHub Actions Otomatik Derleme ve Dağıtım) | ✅ | ✅ |
| Aşama 10: | Gözlemlenebilirlik ve Log Sistemi (OpenObserve, Vector, cAdvisor) | İsteğe bağlı | Önerilen |
Aşama 1: Veritabanlarının Başlatılması (PostgreSQL & Redis)
Medusa, Strapi ve Umami için izole veritabanlarına sahip PostgreSQL ve oturumlar için Redis başlatılır.
docker compose up -d postgres redis meilisearch minio minio-setupTüm servisler sağlıklı (healthy) duruma gelene kadar bekleyin: docker compose ps
Aşama 2: Caddy Ağ Geçidi ve Otomatik SSL Sertifikaları
Tüm alan adları için otomatik Let's Encrypt SSL sertifikası sağlayan ters proxy servisi Caddy çalıştırılır.
docker compose up -d caddydocker compose logs -f caddyProfil B Windows hosts Dosyası Yapılandırması:
C:\Windows\System32\drivers\etc\hosts dosyasını Yönetici olarak Not Defteri ile açın ve şunu ekleyin:192.168.1.103 store.local api.local admin.local analytics.local monitor.local
(192.168.1.103 adresini kendi sanal sunucu IP'niz ile değiştirin. Meilisearch eklemeyin — dahili kalmalıdır).
Aşama 3: Strapi CMS v5 Başlatılması
Strapi CMS konteyneri indirilir, veritabanına bağlanır ve 1337 portu hazır olana kadar beklenir.
docker compose pull strapidocker compose up -d strapidocker compose logs -f strapiSunucunun 1337 portunu dinlemeye başlamasını bekleyin (ilk başlatmada 1-3 dakika sürer). Strapi Yönetici Panelini açın (Profil B: https://admin.local/admin, Profil A: http://<VM_IP>:1337/admin) ve yönetici hesabınızı oluşturun.
Aşama 4: Strapi API Anahtarlarının Çıkarılması ve .env'ye Yazılması
Next.js ön yüzünün ana sayfa bloklarını okuyabilmesi için gerekli API belirteci otomatik üretilip .env'ye eklenir.
- strapi-token-init.js betiği çalışarak yönetici belirtecini çıkarır.
- STRAPI_API_TOKEN değişkeni .env dosyasına kaydedilir.
- 3. Mağaza Arayüzü İçin (
STRAPI_API_TOKEN_FOR_FRONT):Read-Onlybelirtecine tıklayın, Regenerate butonuna basın ve değeri.envdosyasındakiSTRAPI_API_TOKEN_FOR_FRONTdeğişkenine kopyalayın.
Aşama 5: MedusaJS v2 Ticaret Motorunun Başlatılması
Medusa konteyneri çalıştırılır, veritabanı şemaları taşınır ve ilk süper yönetici hesabı oluşturulur.
docker compose pull medusadocker compose up -d medusadocker compose logs -f medusaİlk çalıştırmadaki otomatik adımlar: Veritabanı geçişleri db:migrate (2–5 dakika sürer) -> yönetici kullanıcısı oluşturma -> 9000 portunda API hazır. Medusa Yönetici Panelini https://api.local/app (Profil B) veya http://<VM_IP>:9000/app (Profil A) adresinde açıp MEDUSA_ADMIN_EMAIL ve MEDUSA_ADMIN_PASSWORD ile giriş yapın.
Aşama 6: Medusa Satış Kanalları ve Yayınlanabilir API Anahtarları
Ön yüzün ürünleri ve sepetleri yönetebilmesi için yayınlanabilir anahtar üretilir ve varsayılan satış kanalına bağlanır.
- Yönetici kullanıcısı tanımlanır ve yetkilendirilir.
- Publishable anahtarı NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY değişkenine atanır.
- 3. ÇOK ÖNEMLİ: Oluşturulan anahtarı açın > Sales Channels sekmesine gidin > anahtarı Default Sales Channel ile ilişkilendirin. Bu adım olmadan ürünler mağaza arayüzünde görünmez.
Aşama 7: Meilisearch Arama Motorunun Kurulması
Ürünlerin ve kategorilerin milisaniyeler içinde aranabilmesi için Meilisearch konteyneri başlatılır.
curl -H "Authorization: Bearer <MEILI_MASTER_KEY>" http://127.0.0.1:7700/keysDefault Search API Key değerini kopyalayıp .env dosyasında MEILI_SEARCH_KEY değişkenine ekleyin (kurulum sihirbazı bunu otomatik olarak ayıklar).
Aşama 8: Umami Analitik Sisteminin Başlatılması
Çerezsiz çalışan bağımsız analitik platformu Umami çalıştırılır ve web sitesi kimliği oluşturulur.
docker compose up -d umamiUmami panelini açın (Profil B: https://analytics.local, Profil A: http://<VM_IP>:3005). Giriş yapın (admin / umami), Settings > Websites > Add website bölümüne gidin ve üretilen Website ID değerini .env dosyasındaki UMAMI_WEBSITE_ID alanına yapıştırın.
Aşama 9: Next.js 16 Mağaza Ön Yüzünün Dağıtımı
Ön yüz konteyneri çekilir, hazır olan tüm servislere bağlanır ve ana sayfa erişilebilir hale getirilir.
1. Derleme Değişkenleri ve API Anahtarları:
Medusa ve Strapi yolları derleme aşamasında konteynere aktarılır.
1. STOREFRONT_BUILD_ARGS (Derleme Zamanı Değişkenleri)
Next.js derleme değişkenlerinizi içerir. Yukarıdaki şablonu kopyalayın ve önceki aşamalarda oluşturulan anahtarları buraya doldurun.
MEDUSA_BACKEND_URL=http://medusa:9000NEXT_PUBLIC_MEDUSA_BACKEND_URL=https://api.yourdomain.comNEXT_PUBLIC_STRAPI_URL=https://admin.yourdomain.comNEXT_PUBLIC_BASE_URL=https://store.yourdomain.comNEXT_PUBLIC_MEILISEARCH_HOST=https://search.yourdomain.comNEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=pk_...NEXT_PUBLIC_MEILISEARCH_SEARCH_KEY=...NEXT_PUBLIC_UMAMI_WEBSITE_ID=...NEXT_PUBLIC_DEFAULT_REGION=USDEFAULT_LOCALE=en-USNEXT_PUBLIC_MEILISEARCH_INDEX_NAME=productsNEXT_PUBLIC_ENABLE_IRAN_FEATURES=false2. REGISTRY_URL
Bileşen kayıt defterinin URL adresi. Varsayılan: Genel Loomix Blocks kayıt defteri:https://raw.githubusercontent.com/landa33/loom-blocks-registry/main/src/modules
3. GITHUB_PAT (İsteğe Bağlı)
GitHub Kişisel Erişim Belirteci (Classic). repo, workflow ve read:packages izinleri gerektirir. GHCR konteyner indirmeleri, CI/CD tetikleme ve özel bileşen kayıt defteri erişimi için kullanılır.
4. DEPLOY_PATH
Linux VPS sunucunuzdaki proje dizininin mutlak yolu (örneğin /root/loomix-commerce). Self-Hosted Runner'ın Docker Compose projesini bulması için zorunludur.
2. Küçük Boyutlu Standalone Derleme:
Next.js Standalone çıktısı ile konteyner boyutu 150MB'ın altına indirilir.
3. Ağ ve Hazır Olma Denetimi:
Port 8000 denetlenir ve Caddy ters proxy ağına bağlanır.
4. Üretim Ön Yüzünün Başlatılması:
docker compose pull storefrontdocker compose up -d storefrontAşama 10: Gözlemlenebilirlik ve Günlük İzleme (OpenObserve & Vector)
Sistem günlüklerini toplamak ve bellek/işlemci durumunu izlemek için Vector ve OpenObserve başlatılır.
docker compose up -d openobserve vector cadvisor docker-stats-exporterOpenObserve Merkezi Kontrol Paneli:
https://monitor.alanadiniz.com (Profil C), https://monitor.local (Profil B) veya http://<VM_IP>:5080 (Profil A) adresini açın. OpenObserve root kimlik bilgilerinizle giriş yapın.
Toplanan Telemetri ve Log Akışları:
docker_logs: Tüm mikro servisler için birleştirilmiş konteyner günlükleri ve anında hata arama imkanı.
caddy_access: Caddy JSON loglarından Vector aracılığıyla doğrudan aktarılan canlı HTTP web trafiği, IP adresleri, HTTP durum kodları (2xx/4xx/5xx) ve istek rotaları.
docker_stats: cAdvisor üzerinden konteyner başına gerçek zamanlı bellek kullanımı %, CPU % ve ağ G/Ç (I/O) verileri.
host_metrics: Sunucu genelinde CPU yükü, RAM kullanımı ve disk G/Ç metrikleri.
Telegram Anlık Hata Bildirimleri:
OpenObserve panelinde Reliability > Destinations yolunu izleyerek Telegram bot webhook'unuzu (https://api.telegram.org/bot<TOKEN>/sendMessage) bağlayın, ardından gerçek zamanlı uyarılar için Reliability > Alerts altında uyarı kuralları oluşturun.
6. Medusa ve Strapi Arasında İlk Veri Eşitlemesi
Medusa'daki ürünleri ve kategorileri okuyarak Strapi'de karşılık gelen blokları oluşturan otomatik senkronizasyon.
İlk Senkronizasyonu Çalıştırma:
Varsayılan ana sayfayı oluşturmak için Strapi konteynerinde aşağıdaki komutu yürütün:
2. Loomix Blok Bileşen Senkronizasyonu (sync-loom-component.js)
Strapi Storefront Management menüsünde, + Add to Storefront (Queue) veya Remove Style (Queue) butonlarına tıklamak bileşen değişikliklerini sync-history.json kuyruğuna ekler. Update Storefront butonuna tıklandığında ayar önayarları otomatik eşitlenir ve güncellenmiş mağaza arayüzünü derleyip dağıtmak üzere GitHub Actions tetiklenir.
Üretim Ortamı Senkronizasyon Değişkenleri:
Bu değişkenleri website-admin/.env ve sunucunun kök .env dosyasına ekleyin. Belirtecin 'repo' ve 'workflow' yetkilerine sahip olduğundan emin olun:
GITHUB_DEPLOY_TOKEN=ghp_your_personal_access_token # Requires 'repo' and 'workflow' scopesGITHUB_DEPLOY_REPO=your_username/your_repo_name7. Dağıtım Profilleri Arasında Geçiş Yapma
Profil A'dan Profil B'ye geçmek veya alan adlarını değiştirmek için aşağıdaki adımları izleyin:
| Değişiklik Türü | Yeniden Başlatılacak Servisler |
|---|---|
| .env dosyasındaki Genel URL'ler | Strapi, Medusa, Storefront (önce GitHub Action derlemesini tetikleyin, ardından imajları çekin) |
| MEDUSA_ALLOW_HTTP_COOKIES ayarı | Yalnızca Medusa konteyneri |
| Caddy Ekleme (A'dan B'ye geçiş) | Caddy'yi başlatın (docker compose up -d caddy) ve yeni imajları çekin |
| hosts dosyası (Profil B) | Sunucuda hiçbir şey gerekmez — yalnızca yerel Windows hosts dosyasını düzenleyin |
# 1. Edit .env — switch to Profile B URLs, set MEDUSA_ALLOW_HTTP_COOKIES=falsenano .env # 2. Add hosts entry on Windows # 3. Start Caddydocker compose up -d caddy # 4. Pull new images:docker compose pull strapi medusa && docker compose up -d strapi medusa8. Servisleri En Son Sürüme Güncelleme
Veritabanındaki verileri kaybetmeden tüm konteynerleri güncellemek için server-update.sh betiğini çalıştırın.
9. Hızlı Yönetim ve Bakım Komutları
Günlükleri izlemek, servisleri yeniden başlatmak ve yedek almak için yararlı Docker komutları:
./setup.sh # On Linux / macOS.\setup.bat # On Windows10. Dahili Ağ ve Port Haritası
Servisler Arası Dahili Köprü Ağı (Internal Bridge Network):
- Mağaza Arayüzü (Storefront): :8000
- Medusa API + Yönetici: :9000
- Strapi CMS: :1337
- Meilisearch: :7700
- MinIO Konsolu: :9001
- Umami Analitik: :3005
- OpenObserve İzleme: :5080
Caddy Tarafından İşlenen Alan Adları:
- https://store.local -> storefront:8000
- https://api.local -> medusa:9000
- https://admin.local -> strapi:1337
- https://analytics.local -> umami:3000
- https://monitor.local -> openobserve:5080
- https://api.local/minio/ -> minio:9000
İzole loomix-network Konteyner Ağı:
Konteynerler birbirleriyle standart servis adlarıyla haberleşir (örneğin http://storefront:8000, http://medusa:9000, http://meilisearch:7700). Meilisearch yalnızca dahili kullanıma açıktır ve asla dışarıya sunulmamalıdır.
Temel Yönetim Komutları Özeti
docker compose psdocker compose logs -f medusadocker compose logs -f strapidocker compose logs -f storefrontdocker compose logs -f openobservedocker builder prune -fdocker system prune -fdocker compose downdocker compose up -d