{"id":20982862,"url":"https://github.com/emnsen/xdocker","last_synced_at":"2026-02-16T05:33:31.552Z","repository":{"id":82188587,"uuid":"186975096","full_name":"emnsen/xdocker","owner":"emnsen","description":"This repository provide the docker development environment for your symfony projects","archived":false,"fork":false,"pushed_at":"2020-01-08T11:30:02.000Z","size":12,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-07T04:34:00.542Z","etag":null,"topics":["development","development-environment","devtools","docker","php","symfony","symfony-docker"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emnsen.png","metadata":{"files":{"readme":"README-TR.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-16T07:27:53.000Z","updated_at":"2025-03-06T13:41:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"44057386-9cd1-4db0-8656-86bccba04fcd","html_url":"https://github.com/emnsen/xdocker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emnsen/xdocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emnsen%2Fxdocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emnsen%2Fxdocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emnsen%2Fxdocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emnsen%2Fxdocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emnsen","download_url":"https://codeload.github.com/emnsen/xdocker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emnsen%2Fxdocker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29500832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T03:57:51.541Z","status":"ssl_error","status_checked_at":"2026-02-16T03:55:59.854Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development","development-environment","devtools","docker","php","symfony","symfony-docker"],"created_at":"2024-11-19T05:46:59.508Z","updated_at":"2026-02-16T05:33:31.532Z","avatar_url":"https://github.com/emnsen.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Docker\n\nÇalışma ortamınızda Docker kurulu değilse, [buraya tıklayarak](https://www.docker.com/community-edition) gerekli docker kurulumunu gerçekleştiriniz.\n\n#### Mevcut Projeye Dahil Etme\n\nAşağıdaki komutları sırasıyla çalıştırarak mevcut projenizin içerisine dahil edebilirsiniz.\n\n```bash\n$ git remote add xdocker git@github.com:emnsen/xdocker.git\n$ git remote update\n$ git pull xdocker master\n```\n\n\u003e **Not:**\n\u003e\n\u003e Eğer `$ git pull xdocker master` komutunda sorun yaşıyorsanız, komutun sonuna `--allow-unrelated-histories` ekleyip tekrar çalıştırınız.\n\u003e\n\u003e Yukarıdaki opsiyonel seçeneği tek sefer kullandıktan sonra `$ git pull xdocker master` şeklinde kullanmaya devam edebilirsiniz.\n\u003e\n\u003e Örnek; `$ git pull xdocker master --allow-unrelated-histories`\n\n#### Kurulum\n\nTerminalden projenin ana dizinine girin.\n\nEğer aşağıdaki aliaseslar mevcut değilse. Aşağıdaki kodu çalıştırın.\n\n```bash\n$ cat xdocker/aliases \u003e\u003e ~/.bash_aliases\n```\n\n\u003e Kullandığınız terminal, varsayılan terminal değilse .bash_aliases dosyasını terminalinize uygun olan dosya adıyla değiştirin.\n\u003e Örnek;\n\u003e\n\u003e - oh-my-zshrc \u003e ~/.zshrc\n\u003e - linux terminal \u003e ~/.bash_aliases veya ~/.bashrc\n\u003e - mac terminal \u003e ~/.profile\n\nYukarıda ki aliasesları ekledikten sonra terminalden projenizin ana dizininde `rundockerrun` yazarak çalıştarabilirsiniz.\n\n\u003e Linux üzerindeki kurulumlarda root yetkisi gerekebilir. Böyle bir durumda `sudo rundockerrun` şeklinde çalıştırınız.\n\u003e Eğer veritabanı parametrelerini(host, kullanıcı, şifre, vs..) güncellemek istiyorsanız `--dpu` opsiyonu ile çalıştırınız. Örnek: `rundockerrun --dpu`\n\nAşağıda aliases dosyası içerisindeki aliaslar yer almaktadır.\n\n---\n\n#### Xdebug\nKurulum için `xdocker/php-fpm/php-ini-overrides.ini` dosyasında yer alan devre dışı bırakılmış aşağıda yer alan ayarların başında bulunan `;` karakterini kaldırınız.\n```\n;zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so\n;xdebug.remote_host=host.docker.internal\n;xdebug.remote_enable=1\n;xdebug.remote_handler=dbgp\n;xdebug.remote_port=9001\n;xdebug.remote_autostart=0\n;xdebug.remote_connect_back=0\n;xdebug.idekey=PHPSTORM\n```\n\nYukarıdaki ayarları yaptıktan sonra PHPStorm'da `Preferences \u003e Languages \u0026 Frameworks \u003e PHP` tıklayınız. \n1) `Debug` menüsüne tıklayın, sağ tarafta yer alan `Debug Port` değerini `9001` olarak ayarlayınız. Burası php.ini içerisindeki değerle aynı olmalıdır.\n2) `Debug` sonra yer alan `Servers` menüsüne tıklayın, açılan ekran `+`'ya tıklayarak yeni bir server ekleyiniz. `Host: localhost`, `Port: 80`, `Debugger: Xdebug` olacak şekilde ayarlayın.\nHemen altında yer alan `Use path mappings`'e tıklayın açılan alanda `Project files` hemen altında yer alan proje dizininizin karşısında yer alan `Absolute path on the server` değerini `/application` olacak şekilde ayarlayın.\n3) Tekrar docker buildi aldıktan sonra [Chrome Xdebug helper](https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc) eklentisini indirin eklentiye tıklayıp debug seçeneğine tıklayın ve keyifli debuglar.\n\n\u003e Eğer eklentisiz yapmak istiyorsanız `xdebug.remote_autostart=1` şeklinde ayarlayarak otomatik olarak sürekli bağlanmayı sağlayabilirsiniz.\n\n---\n\n#### SSL\nVarsayılan SSL Portu olan `443` portunun `docker-compose.yml` dosyasında bulunan `services \u003e webserver \u003e ports` altında `- 443:443` şeklinde tanımlandığından emin olun.\n\nAşağıda yer alan;\n1) **[Sertifika oluşturma](#sertifika-oluşturma)**\n2) **[Nginx](#nginx)**\n3) **[MacOS](#macos)**\n\nadımlarını yaptıktan sonra projenin dizininde `dc build \u0026\u0026 rundockerrun` komutu çalıştırmayı unutmayınız.\n\n###### Sertifika oluşturma\nLocal geliştirme ortamınızda SSL oluşturmak için terminalden `cd xdocker/nginx/certs` komutunu çalıştırın.\nAşağıdaki komutta bulunan `\u003cdomain\u003e`'i local domaininiz ile değiştirerek gerekli sertifikaları oluşturun.\n```bash\nopenssl req -x509 -out \u003cdomain\u003e.local.crt -keyout \u003cdomain\u003e.local.key \\\n  -newkey rsa:2048 -nodes -sha256 \\\n  -subj '/CN=\u003cdomain\u003e.local' -extensions EXT -config \u003c( \\\n   printf \"[dn]\\nCN=\u003cdomain\u003e.local\\n[req]\\ndistinguished_name = dn\\n[EXT]\\nsubjectAltName=DNS:\u003cdomain\u003e.local\\nkeyUsage=digitalSignature\\nextendedKeyUsage=serverAuth\")\n```\n\n###### Nginx\nAşağıdaki dosyada yer alan satırların başındaki `#` karakterini kaldırarak sertifika kullanımını aktif hale getiriniz.\n\n`File: xdocker/nginx/nginx.conf.template`\n```bash\n#listen 443 ssl http2;\n#listen [::]:443 ssl http2;\n#ssl on;\n#ssl_certificate /etc/nginx/certs/${NGINX_HOST}.crt;\n#ssl_certificate_key /etc/nginx/certs/${NGINX_HOST}.key;\n```\n\n###### MacOS\n1) **Keychain Access**'i açın, sol menüde yer alan **Keychains** altında yer alan **System**'e tıklayın. \n2) Yukarıdaki menüden `File \u003e Import Items` seçeneğine tıklayın ve açılan ekrandan oluşturduğunuz `\u003cdomain\u003e.local.crt` dosyasını seçip `Add` seçeneğine tıklayın. (Şifre istenmesi durumunda bilgisayarınızın şifresini girin.)\n3) Sağ üstte yer alan `Search` kısmından `\u003cdomain\u003e.local` şeklinde arama yapıp import ettiğiniz sertifikayı bulun ve üzerine çift tıklayın. Açılan pencerede `\u003e Trust` yazısının okuna tıklayıp tab'ı genişletin. `When using this certificate:` karşısında bulunan seçeneklerden `Always Trust` seçeneğini seçin ve kapatın. `https://\u003cdomain\u003e.local` şeklinde local ssl sertifikanız ile kullanmaya başlayabilirsiniz.\n\n---\n\n#### Aliases\n\n```bash\nalias dc='docker-compose'\nalias dcu='dc up -d'\nalias dck='dc kill $(docker ps -aq) \u0026\u003e/dev/null'\nalias dcl='dc ps'\nalias dcr='dc restart'\nalias dcp='dc exec --privileged php-fpm'\nalias dcn='dc exec --privileged nginx'\nalias dcm='dc exec --privileged mysql'\nalias dp='dcp php'\nalias cmp='dcp composer'\nalias ci='cmp install'\nalias cu='cmp update'\nalias cr='cmp require'\nalias sc='dp bin/console'\nalias sdsu='sc d:s:u --force'\nalias scc='sc c:c --no-warmup'\nalias rundockerrun='./start.sh'\nalias rerundocker='dck || rundockerrun'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femnsen%2Fxdocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femnsen%2Fxdocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femnsen%2Fxdocker/lists"}