Mulai cepat | Contoh | Fitur | Tumpukan Kotak Setan | Komunitas | Berkontribusi | Logo | Lisensi
Devilbox adalah tumpukan Docker PHP zero-conf yang serbaguna dan sangat dapat disesuaikan yang mendukung LEMP dan MEAN serta Websockets, Node, Python dan Golang melalui integrasi Reverse Proxy otomatis.
Tujuan utamanya adalah untuk menyediakan lingkungan pengembangan yang dapat direproduksi yang berjalan di semua platform utama dan mampu beralih dan menggabungkan versi apa pun yang Anda perlukan. Ini mendukung proyek dalam jumlah tak terbatas yang vhosts, sertifikat SSL, dan catatan DNS dibuat secara otomatis. Intersepsi email dan alat pengembangan populer juga akan siap melayani Anda. Konfigurasi tidak diperlukan, karena semuanya sudah dikonfigurasi sebelumnya.
Semua proyek yang dibuat (frontend atau backend) akan dapat berkomunikasi satu sama lain untuk mendukung emulasi arsitektur layanan mikro lengkap atau lanskap API.
Arsitektur yang Tersedia: amd64
, arm64
Versi PHP yang tersedia: 5.2
, 5.3
, 5.4
, 5.5
, 5.6
, 7.0
, 7.1
, 7.2
, 7.3
, 7.4
, 8.0
, 8.1
, 8.2
Docker
dan Docker Compose
:Mesin Docker 17.06.0+
Penulisan Docker 1.16.0+
Bangun dan berjalan dalam 2 menit.
Unduh Kotak Setan
git klon https://github.com/cytopia/devilbox
Masuk ke direktori git Devilbox
cd kotak iblis
Salin file lingkungan default
cp env-contoh .env
Penting: Pastikan tidak ada yang mendengarkan pada port 80
dan443
di sistem host Anda. Porta ini diperlukan oleh server web Devilbox.
Mulai wadah httpd
, php
dan mysql
# Langkah ini mungkin memakan waktu beberapa menit sesuai kebutuhan# Gambar Docker harus ditarik terlebih dahulu.# Di dalam direktori git Devilboxdocker-compose up httpd php mysql
Kunjungi http://localhost di browser Anda
Unduh Kotak Setan
git klon https://github.com/cytopia/devilbox
Masuk ke direktori git Devilbox
cd kotak iblis
Salin file lingkungan default
cp env-contoh .env
Penting: Pastikan tidak ada yang mendengarkan pada port 80
dan443
di sistem host Anda. Porta ini diperlukan oleh server web Devilbox.
Mulai wadah httpd
, php
dan mysql
# Langkah ini mungkin memakan waktu beberapa menit sesuai kebutuhan# Gambar Docker harus ditarik terlebih dahulu.# Di dalam direktori git Devilboxdocker-compose up httpd php mysql
Kunjungi http://localhost di browser Anda
WSL2
, lihat panduan Linux. Kloning https://github.com/cytopia/devilbox
ke C:devilbox
dengan Git untuk Windows
Salin C:devilboxenv-example
ke C:devilbox.env
Penting: Pastikan tidak ada yang mendengarkan pada port 80
dan443
di sistem host Anda. Porta ini diperlukan oleh server web Devilbox.
Buka terminal di Windows dan mulai httpd
, php
, dan wadah mysql
:
Mulai wadah httpd
, php
dan mysql
# Langkah ini mungkin memakan waktu beberapa menit sesuai kebutuhan# Gambar Docker harus ditarik terlebih dahulu.# Di dalam direktori git Devilboxdocker-compose up httpd php mysql
Kunjungi http://localhost di browser Anda
Devilbox memungkinkan Anda mengerjakan proyek Anda di sistem host dan juga di dalam wadah kerja. File proyek Anda akan tersedia di kedua lokasi. Alur kerja biasanya adalah:
Gunakan IDE pilihan Anda (misalnya PhpStorm) pada sistem host Anda untuk menambah dan mengubah file
Bekerja di dalam container untuk menjalankan alat cli umum seperti node
, composer
, npm
, phpcs
, webpack
dan banyak lagi.
Untuk masuk ke wadah kerja, cukup jalankan ./shell.sh
Di Linux, MacOS dan Windows dengan WSL2
# Di dalam direktori git Devilbox./shell.sh
Di Windows tanpa WSL2
# Di dalam direktori git Devilbox./shell.bat
Buat proyek pertama Anda:
Mulai wadah yang Anda butuhkan:
pembuat buruh pelabuhan httpd php mysql
Masukkan wadah kerja:
./shell.sh
Arahkan ke /shared/httpd
:
cd /dibagikan/httpd
Buat direktori proyek Anda
proyek tiruan mkdir
Kunjungi http://localhost/vhosts.php
Anda akan melihat bahwa Anda perlu membuat direktori htdocs/
Buat direktori htdocs/
# Navigasikan ke direktori proyek Andacd /shared/httpd/dummy-project# Buat htdocs dirmkdir htdocs
Kunjungi http://localhost/vhosts.php
Anda akan melihat bahwa semuanya sekarang sudah diatur dan proyek Anda telah dibuat dan tersedia
Buat file index.php
# Navigasikan ke direktori htdocs proyek Andacd /shared/httpd/dummy-project/htdocs# Buat file index.php sederhanaecho '<?php echo "it works";' > indeks.php
Lihat proyek Anda di browser: http://dummy-project.dvl.to
Temukan semua contoh di dokumentasi:
Devilbox mencoba menjadi tumpukan tanpa konfigurasi dan telah mengotomatiskan semua tugas yang membosankan. Selain itu, ia menyediakan fitur umum yang diperlukan untuk pekerjaan sehari-hari.
OtomatisasiAutomated Project creation Automated SSL Automated DNS Host permission sync | ModeStatic files PHP files Reverse Proxy Websockets | ujung belakangPHP-FPM NodeJS Python Golang ... | Pembuatan profilBlackfire Xdebug XHProf |
ProyekUnlimited Projects Inter-Project Communication Custom Project domains Valid browser HTTPS | IntranetVirtual Hosts C&C Email Reader OpCache Gui | BateraiAdminer phpMyAdmin phpPgAdmin phpRedMind | LayananSQL NoSQL Cache ... |
Devilbox bertujuan untuk menjadi pisau tentara swiss untuk pembangunan lokal dengan menyediakan semua layanan yang Anda perlukan. Untuk mendapatkan gambaran tentang arsitektur di baliknya dan juga melihat apa yang tersedia, lihat komponen dan penggunaannya.
Tumpukan terkecilIni adalah tumpukan terkecil dan berfungsi penuh yang dapat Anda jalankan | Tumpukan penuhUntuk lebih memahami apa yang sebenarnya mungkin, lihat contoh lengkapnya |
Anda dapat memulai dan mengoperasikan Devilbox dengan tiga cara berbeda melalui docker-compose
:
Startup selektif
Sesuai Permintaan (tambah/hapus wadah saat berjalan)
Startup penuh
Jika Anda sudah mengetahui jenis container yang Anda butuhkan sebelum memulai Devilbox, Anda tinggal menentukannya secara eksplisit.
# Di dalam direktori Devilbox git, mulai httpd php mysql dan redisdocker-compose up httpd php mysql redis
Intranet akan menunjukkan kontainer apa yang sedang Anda jalankan:
Jika Devilbox sudah dimulai, Anda dapat memasang lebih banyak kontainer saat itu juga,
# Di dalam direktori git Devilbox, lampirkan mongo dan memcacheddocker-buat mongo memcd
Anda juga dapat mematikan wadah tertentu yang tidak diperlukan
# Di dalam direktori git Devilbox, matikan redisdocker-compose stop redis
Jika Anda hanya ingin memulai semuanya, jalankan docker-compose up
tanpa argumen apa pun
# Di dalam direktori git Devilbox, mulailah semuanya dibuat oleh docker
Intranet akan menunjukkan kontainer apa yang sedang Anda jalankan:
Jika Anda lebih menyukai panduan visual, lihat dua video perkenalan di Youtube:
Dokumentasi: Instal Devilbox | Mulai Kotak Setan | berkas .env
Tabel berikut mencantumkan semua container Docker terintegrasi dan pra-konfigurasi yang dikirimkan oleh Devilbox. Hanya server web dan container PHP yang wajib, yang lainnya bersifat opsional dan tidak perlu dimulai.
Masing-masing juga tersedia dalam beberapa versi berbeda untuk mencerminkan lingkungan yang Anda inginkan.
Mempercepat | jaring | Aplikasi | SQL | TanpaSQL | Antrian / Pencarian | RUSA BESAR | kegunaan |
---|---|---|---|---|---|---|---|
HAProksi | apache | PHP | MariaDB | Memcache | KelinciMQ | Pencarian Elastis | Mengikat |
Pernis | Nginx | Python (Labu) | MySQL | MongoDB | Solr | simpanan log | api hitam |
PerconaDB | ulang | Kibana | MailHog | ||||
PostgreSQL | Ngrok |
Dokumentasi: Kontainer yang Tersedia
Setiap wadah yang dapat dilampirkan hadir dengan banyak versi berbeda. Untuk memilih versi yang diinginkan untuk sebuah wadah, cukup edit file .env
dan hapus komentar pada versi pilihan. Kombinasi apa pun dimungkinkan.
apache | Nginx | PHP | MySQL | MariaDB | Perkona | PgSQL | ulang | Memcache | MongoDB |
---|---|---|---|---|---|---|---|---|---|
2.2 | stabil | 5.2 [1] | 5.5 | 5.5 | 5.5 | 9.0 | 2.8 | 1.4 | 2.8 |
2.4 | jalur utama | 5.3 | 5.6 | 10.0 | 5.6 | 9.1 | 3.0 | 1.5 | 3.0 |
5.4 | 5.7 | 10.1 | 5.7 | 9.2 | 3.2 | 1.6 | 3.2 | ||
5.5 | 8.0 | 10.2 | 8.0 | 9.3 | 4.0 | terbaru | 3.4 | ||
5.6 | 10.3 | 9.4 | 5.0 | 3.6 | |||||
7.0 | 10.4 | 9.5 | 6.0 | 4.0 | |||||
7.1 | 10.5 | 9.6 | 6.2 | 4.2 | |||||
7.2 | 10.6 | 10 | 7.0 | 4.4 | |||||
7.3 | 10.7 | 11 | terbaru | 5.0 | |||||
7.4 | 10.8 | 12 | terbaru | ||||||
8.0 | 10.9 | ... | |||||||
8.1 | 10.10 | 15 | |||||||
8.2 | terbaru |
Dokumentasi: Ubah versi kontainer
Selain tumpukan default, ada berbagai layanan lain yang dapat diaktifkan dan dimulai dengan mudah.
Python (Labu) | api hitam | RUSA BESAR | MailHog | Ngrok | KelinciMQ | Solr | HAProksi | Pernis |
---|---|---|---|---|---|---|---|---|
2.7 | 1.8 | 5.xy | v1.0.0 | 2.x | 3.6 | 5 | 1.x | 4 |
... | ... | 6.xy | terbaru | 3.7 | 6 | 5 | ||
3.7 | 1.18.0 | 7.xy | terbaru | 7 | 6 | |||
3.8 | terbaru | terbaru | terbaru |
Dokumentasi: Aktifkan wadah khusus
Devilbox adalah tumpukan pengembangan, jadi dipastikan bahwa banyak modul PHP tersedia agar dapat bekerja dengan banyak kerangka kerja yang berbeda.
Inti diaktifkan (tidak dapat dinonaktifkan):
Diaktifkan (dapat dinonaktifkan):
Tersedia, namun dinonaktifkan (dapat diaktifkan): d
Modul | PHP 5.2 | PHP 5.3 | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
amqp | |||||||||||||
apc | |||||||||||||
aplikasi | |||||||||||||
bcmath | |||||||||||||
api hitam | D | D | D | D | D | D | D | ||||||
bz2 | |||||||||||||
kalender | |||||||||||||
ctype | |||||||||||||
keriting | |||||||||||||
tanggal | |||||||||||||
dba | |||||||||||||
dom | |||||||||||||
mempesona | |||||||||||||
ereg | |||||||||||||
exik | |||||||||||||
FFI | |||||||||||||
info file | |||||||||||||
menyaring | |||||||||||||
ftp | |||||||||||||
gd | |||||||||||||
dapatkan teks | |||||||||||||
gmp | |||||||||||||
hash | |||||||||||||
ikonv | |||||||||||||
igbiner | |||||||||||||
bayangkan | |||||||||||||
gambar | |||||||||||||
antar pangkalan | |||||||||||||
internasional | |||||||||||||
kubus ion | D | D | D | D | D | D | D | ||||||
json | |||||||||||||
ldap | |||||||||||||
libxml | |||||||||||||
lz4 | |||||||||||||
lzf | |||||||||||||
mbstring | |||||||||||||
mcrypt | |||||||||||||
memcache | |||||||||||||
memcache | |||||||||||||
mhash | |||||||||||||
mongo | |||||||||||||
mongodb | |||||||||||||
paket pesan | |||||||||||||
mysql | |||||||||||||
mysqli | |||||||||||||
mysqlnd | |||||||||||||
OAuth | |||||||||||||
oci8 | D | D | D | D | D | D | D | D | D | D | D | D | |
cache op | |||||||||||||
opensl | |||||||||||||
pcntl | |||||||||||||
pcre | |||||||||||||
PDO | |||||||||||||
pdo_dblib | |||||||||||||
PDO_Burung Api | |||||||||||||
pdo_mysql | |||||||||||||
PDO_OCI | D | D | D | D | D | D | D | D | |||||
pdo_pgsql | |||||||||||||
pdo_sqlite | |||||||||||||
pdo_sqlsrv | D | D | D | D | D | D | D | D | |||||
pgsql | |||||||||||||
elang | D | D | D | D | D | D | D | D | D | D | D | ||
Far | |||||||||||||
posix | |||||||||||||
mantra | |||||||||||||
psr | D | D | D | D | D | D | D | D | D | D | D | ||
acak | |||||||||||||
rdkafka | D | D | D | D | D | D | D | D | D | D | D | D | |
garis baca | |||||||||||||
kode ulang | |||||||||||||
redis | |||||||||||||
Cerminan | |||||||||||||
sidang | |||||||||||||
omong kosong | |||||||||||||
XML sederhana | |||||||||||||
snmp | |||||||||||||
sabun | |||||||||||||
soket | |||||||||||||
sodium | |||||||||||||
cerah | |||||||||||||
SPL | |||||||||||||
sqlite | |||||||||||||
sqlite3 | |||||||||||||
sqlsrv | D | D | D | D | D | D | D | D | |||||
ssh2 | |||||||||||||
berputar-putar | D | D | D | D | D | D | D | D | D | D | D | ||
sysvmsg | |||||||||||||
sistem | |||||||||||||
sysvshm | |||||||||||||
rapi | |||||||||||||
tokenizer | |||||||||||||
kemajuan unggahan | |||||||||||||
uuid | |||||||||||||
VIP | |||||||||||||
wddx | |||||||||||||
Xdebug | |||||||||||||
xhprof | D | D | D | D | D | D | D | D | |||||
xlswriter | |||||||||||||
xml | |||||||||||||
xmlreader | |||||||||||||
xmlrpc | |||||||||||||
xmlwriter | |||||||||||||
xsl | |||||||||||||
yaml | |||||||||||||
ritsleting | |||||||||||||
zlib | |||||||||||||
zstd |
Inti diaktifkan (tidak dapat dinonaktifkan):
Diaktifkan (dapat dinonaktifkan):
Tersedia, namun dinonaktifkan (dapat diaktifkan): d
Dokumentasi: Mengaktifkan/menonaktifkan modul PHP
Alat terkenal dan populer akan siap melayani Anda:
Alat | PHP 5.2 | PHP 5.3 | PHP 5.4 | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sudut-cli | |||||||||||||
asgardcms | |||||||||||||
luar biasa-ci | |||||||||||||
kodesepsi | |||||||||||||
komposer | |||||||||||||
paket inti | |||||||||||||
penyebar | |||||||||||||
eslint | |||||||||||||
git | |||||||||||||
git-aliran | |||||||||||||
mendengus-cli | |||||||||||||
meneguk | |||||||||||||
jq | |||||||||||||
jsonlint | |||||||||||||
penginstal laravel | |||||||||||||
laravel-lumen | |||||||||||||
pemeriksaan tautan | |||||||||||||
mdl | |||||||||||||
mdlint | |||||||||||||
mupdf-alat | |||||||||||||
alat bersih | |||||||||||||
simpul | |||||||||||||
npm | |||||||||||||
nvm | |||||||||||||
alat pengembang phalcon | |||||||||||||
pemecah masalah php-cs | |||||||||||||
phpcbf | |||||||||||||
phpcs | |||||||||||||
phpMD | |||||||||||||
unit php | |||||||||||||
pip | |||||||||||||
sore2 | |||||||||||||
pwncat | |||||||||||||
rsync | |||||||||||||
kelancangan | |||||||||||||
periksa cangkang | |||||||||||||
ssh | |||||||||||||
gayalint | |||||||||||||
svn | |||||||||||||
symfony-cli | |||||||||||||
file tugas | |||||||||||||
cekcok | |||||||||||||
vim | |||||||||||||
vue-cli | |||||||||||||
webpack-cli | |||||||||||||
wkhtmltopdf | |||||||||||||
wp-cli | |||||||||||||
kucing | |||||||||||||
yamllint | |||||||||||||
benang | |||||||||||||
kamu | |||||||||||||
zsh |
Sejauh diuji, tidak ada batasan dan Anda dapat menggunakan Framework atau CMS apa pun seperti yang Anda lakukan di lingkungan hidup Anda. Di bawah ini adalah beberapa contoh Framework dan CMS yang telah diuji secara ekstensif:
Dokumentasi:
Pengaturan CakePHP | Siapkan CodeIgniter | Siapkan Contao | Siapkan CraftCMS | Siapkan Drupal | Pengaturan Joomla | Pengaturan Laravel | Siapkan Magento 2 | Pengaturan PhalconPHP | Siapkan FotonCMS | Pengaturan PrestaShop | Proses PengaturanWire | Siapkan Peralatan Toko | Pengaturan Symfony | Pengaturan Typo3 | Siapkan WordPress | Pengaturan Yii | Pengaturan Zend
Sejauh diuji tidak ada batasan dan Anda dapat menggunakan aplikasi apa pun yang membuat port terbuka. Porta ini akan diproksi terbalik oleh server web dan bahkan memungkinkan Anda menggunakan HTTPS yang valid untuk porta tersebut. Dengan fitur autostart bawaan Devilbox, Anda dapat memastikan bahwa aplikasi Anda dijalankan secara otomatis segera setelah Anda menjalankan docker-compose up
.
Dokumentasi:
Siapkan proksi terbalik NodeJs | Siapkan dokumentasi Sphinx proksi terbalik
Devilbox dilengkapi dengan intranet yang telah dikonfigurasi sebelumnya di http://localhost
dan https://localhost
. Ini dapat dinonaktifkan secara eksplisit atau dilindungi kata sandi. Intranet tidak hanya akan menampilkan kepada Anda, konfigurasi yang dipilih, namun juga memvalidasi status konfigurasi saat ini, seperti apakah data DNS ada (pada host dan kontainer), apakah direktori telah diatur dengan benar. Selain itu, ia menyediakan alat eksternal untuk memungkinkan Anda berinteraksi dengan database dan email.
Ikhtisar Virtual Host (memvalidasi direktori dan DNS)
Komando & Kontrol
Ikhtisar email
Ikhtisar basis data (MySQL, PgSQL, Redis, Memcache, ...)
Halaman info (Httpd, MySQL, PgSQL, Redis, Memcache, ...)
Dan masih banyak lagi...
Baterai berikut tersedia di intranet Devilbox secara default:
Admin | phpMyAdmin | phpPgAdmin | phpRedMin | Admin Memcache PHP | GUI OpCache | Penampil surat |
Dokumentasi: Intranet Kotak Setan
Beberapa contoh tampilan intranet internal.
Devilbox memiliki banyak fitur mulai dari lingkungan pengembangan pengguna tunggal yang sederhana hingga infrastruktur pengembangan bersama untuk jaringan perusahaan.
Untuk mengetahui semua fitur tersebut, pastikan untuk membaca sekilas dokumentasinya , sehingga Anda tahu apa yang dapat dilakukan dan bagaimana hal itu dapat menyederhanakan kehidupan Anda sehari-hari. Jika Anda mengalami masalah yang tidak terduga, silakan bergabung dengan obrolan Discord atau kunjungi forum dan dapatkan dukungan komunitas dengan cepat.
dokumen | Perselisihan | Forum | Api |
---|---|---|---|
iblisbox.readthedocs.io | perselisihan/kotak setan | kotak setan.discourse.group | github.com/devilbox/flames |
Devilbox masih merupakan proyek muda dengan peta jalan ke depan yang panjang. Fitur ditentukan oleh Anda - komunitas , jadi kontribusi apa pun diterima.
Bintangi proyek ini
Buka masalah untuk bug dan permintaan fitur
Kloning proyek ini dan kirimkan perbaikan atau fitur
Saya mencoba mengikuti lebih dari 100 proyek. Jika pekerjaan saya membuat hidup Anda lebih mudah, pertimbangkan untuk mengirimkan kopi atau bir.
Sponsor GitHub
Patreon
Kontribusi: PyPI: sitopia · Terraform: sitopia · Kemungkinan: sitopia
Logo dan spanduk dapat ditemukan di Devilbox/artwork . Jangan ragu untuk menggunakan atau memodifikasinya sesuai ketentuan lisensinya.
Lisensi MIT
Hak Cipta (c) sitopia 2016