Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Merhabalar.
Forumda devilbox kelimeleri geçen bir kaç konuyu inceledim. Bilgisayarıma windows 11 kurdum. WSL ve docker kurulumlarını da yaptım.

Devilbox ile kendime bir geliştirme ortamı hazırlamaya çalışıyorum.

Çalışma mantığını incelemeye çalıştığımda, desteklediği bir çok uygulamayı docker image'lar kullanarak compose ile container oluşturuyor.

Diyelimki PHP8, PostgreSQL ve redis ile çalışacak bir veya bir kaç projem var.
Bunun için devil ile gelen docker-compose.yml dosyasını modifiye edip bana lazım olan service'leri belirliyorum.

Başka bir projemde ise PHP5.6, Mysql ve memcache lazım. Yine devil ile birlikte gelen docker-compose.yml dosayasını modifiye ederek bir ortam hazırlıyorum.

Bu hazırladığım ortamlarda data/www klasörlerinde kendi dizinlerimi açarak geliştirmelerimi yapıyorum.

Yanlış anladığım ya da kaçırdığım bir nokta var mıdır? Sizlerin kullanım senaryoları, yada şu şekil daha doğrudur diyeceğiniz noktalar varsa, okumak isterim.

İyi bayramlar...

    MehmetCanYUMUTUTAN docker-compose dosyalarını ellemiyorsunuz, onlar zaten hazır, sadece özelleştirmek isterseniz o dosyaları düzenlemeye ihtiyacınız var. Sizin düzenleme yapmanız gereken yer .env dosyası. .env dosyası docker-compose up yaptığınızda sizin için içinde tanımlı imajlardan bir ortam ayağa kaldırıyor. .env dosyasında Choose Images (Version) bölümünden itibaren hangi imajları kullanacaksınız sadece birini seçecek şekilde ayarlıyorsunuz. Dosyaya bakarsanız zaten imajların versiyonları ile listelendeğini görürsünüz. Yapmanız gereken hangi versiyonu istiyorsanız basşındaki # simgesini kaldırmak. Sadece birinin başında # olmaması gerekiyor bu önemli.

    Ben sürekli .env ile uğraşmamak için şöyle bir yol geliştirdim: Mevcut .env dosyanızı yedekleyin. Daha sonra kendiniz ondan bir kopya oluşturun ve bir isim verin. Mesela sizin örnekten yola çıkarsak adı .env-php8-postgresql-redis olsun, istediğiniz ismi verebilirsiniz, .env-default gibi. Bu dosyada istediğiniz ayarları yapın. Sonra aynı isimde bir tane de bash script dosyası oluşturun, env-php8-postgresql-redis.sh. İçeriği de şu şekilde olacak:

    #!/bin/sh
    
    rm .env
    ln -sf .env-php8-posgtresql-redis .env
    docker-compose stop
    docker-compose rm -f
    docker-compose up httpd php bind pgsql redis

    env-php8-postgresql-redis.sh dosyasını çalıştırılabilir hale getirin:

    chmod u+x env-php8-postgresql-redis.sh

    Artık

    ./env-php8-postgresql-redis.sh

    yaptığınızda bu konfigürasyon ayağa kalkacak. Bu şekilde ortamları çoğaltabilir ve tek seferde ayağa kaldırabilirsiniz.

    Windows'da önemli olan bir nokta da Devilbox'ı Windows'a değil WSL ile kurduğunuz Ubuntu alt sistem içinde kurmanız gerekiyor. Yani bu scriptleri vs de önce Ubuntu'ya wsl ile girip çalıştıracaksınız.

    Devilbox ile birlikte Windows'da çalışanlara diğer bir tavsiyem:
    https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-us&gl=US

      Teşekkür ederim. İnceleyip, ubuntu altında kurulumları yapıp, yaptığım işlemleri adım adım not edeceğim. Bununla ilgili bir belge oluşturacağım. Sonrasında yine burada paylaşacağım.

      mgsmus #!/bin/sh

      rm .env
      ln -sf .env-php8-posgtresql-redis .env
      docker-compose stop
      docker-compose rm -f
      docker-compose up httpd php bind pgsql redis

      Aklıma takılan bir nokta var. Hem php8-posgtresql-redis hem de php5.6-mysql gibi iki farklı stack ihtiyacım var diyelim. Bunları development bilgisayarımda ya da production sunucuda aynı anda nasıl çalıştıracağım?