クイックスタート|例|特長|デビルボックススタック|コミュニティ|貢献する|ロゴ|ライセンス
Devilbox は、自動化されたリバース プロキシ統合により、LEMP と MEAN、Websocket、Node、Python、Golang をサポートする、多用途で高度にカスタマイズ可能なゼロ構成の PHP Docker スタックです。
主な目標は、すべての主要なプラットフォームで実行され、必要なバージョンを切り替えたり組み合わせたりできる、再現可能な開発環境を提供することです。仮想ホスト、SSL 証明書、DNS レコードが自動的に作成されるプロジェクトを無制限にサポートします。電子メールの傍受や一般的な開発ツールも利用できます。すべてが事前にセットアップされているため、設定は必要ありません。
作成されたすべてのプロジェクト (フロントエンドまたはバックエンド) は相互に通信して、完全なマイクロサービス アーキテクチャまたは API ランドスのエミュレーションをサポートできます。
利用可能なアーキテクチャ: amd64
、 arm64
利用可能な PHP バージョン: 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
とDocker Compose
です。Docker エンジン 17.06.0+
Docker Compose 1.16.0+
2 分で起動して実行できます。
デビルボックスをダウンロード
git clone https://github.com/cytopia/devilbox
Devilbox git ディレクトリに入る
CDデビルボックス
デフォルトの環境ファイルをコピーする
cp env-example .env
重要:ホスト システムのポート 80
および443
で何もリッスンしていないことを確認してください。これらのポートは、Devilbox Web サーバーに必要です。
httpd
、 php
、 mysql
コンテナを開始します
# このステップには必要に応じて数分かかる場合があります# 最初に Docker イメージをプルする必要があります。# Devilbox git ディレクトリ内docker-compose up httpd php mysql
ブラウザで http://localhost にアクセスします
デビルボックスをダウンロード
git clone https://github.com/cytopia/devilbox
Devilbox git ディレクトリに入る
CDデビルボックス
デフォルトの環境ファイルをコピーする
cp env-example .env
重要:ホスト システムのポート 80
および443
で何もリッスンしていないことを確認してください。これらのポートは、Devilbox Web サーバーに必要です。
httpd
、 php
、 mysql
コンテナを開始します
# このステップには必要に応じて数分かかる場合があります# 最初に Docker イメージをプルする必要があります。# Devilbox git ディレクトリ内docker-compose up httpd php mysql
ブラウザで http://localhost にアクセスします
WSL2
使用している場合は、代わりに Linux ガイドを参照してください。Windows 用 Git を使用してhttps://github.com/cytopia/devilbox
をC:devilbox
にクローンします
C:devilboxenv-example
をC:devilbox.env
にコピーします
重要:ホスト システムのポート 80
および443
で何もリッスンしていないことを確認してください。これらのポートは、Devilbox Web サーバーに必要です。
Windows でターミナルを開き、 httpd
、 php
、 mysql
コンテナを起動します。
httpd
、 php
、 mysql
コンテナを開始します
# このステップには必要に応じて数分かかる場合があります# 最初に Docker イメージをプルする必要があります。# Devilbox git ディレクトリ内docker-compose up httpd php mysql
ブラウザで http://localhost にアクセスします
Devilbox を使用すると、ホスト システム上だけでなく、作業コンテナ内でもプロジェクトで作業できるようになります。プロジェクト ファイルは両方の場所で利用できるようになります。通常、ワークフローは次のとおりです。
ホスト システム上で好みの IDE (PhpStorm など) を使用してファイルを追加および変更します
コンテナ内で作業して、一般的な cli ツール ( node
、 composer
、 npm
、 phpcs
、 webpack
など) を実行します。
作業コンテナに入るには、 ./shell.sh
を実行するだけです。
WSL2 を使用する Linux、MacOS、および Windows の場合
# Devilbox git ディレクトリ内./shell.sh
WSL2 を使用しない Windows の場合
# Devilbox git ディレクトリ内./shell.bat
最初のプロジェクトを作成します。
必要なコンテナを起動します。
出典: link タグ:docker-composeuphttpdphpmysql
作業コンテナを入力します。
./shell.sh
/shared/httpd
に移動します。
cd /shared/httpd
プロジェクトディレクトリを作成します
mkdir ダミープロジェクト
http://localhost/vhosts.php にアクセスしてくださいhtdocs/
ディレクトリを作成する必要があることがわかります。
htdocs/
ディレクトリを作成する
# プロジェクト ディレクトリに移動しますcd /shared/httpd/dummy-project# htdocs を作成します dirmkdir htdocs
http://localhost/vhosts.php にアクセスしてください
すべてがセットアップされ、プロジェクトが作成され、使用できることがわかります。
index.php
ファイルを作成する
# プロジェクトの htdocs ディレクトリに移動しますcd /shared/httpd/dummy-project/htdocs# 単純なindex.php fileechoを作成します '<?php echo "it works";' > インデックス.php
ブラウザでプロジェクトを表示します: http://dummy-project.dvl.to
ドキュメント内のすべての例を見つけてください。
Devilbox は、すぐに使える構成ゼロのスタックになるよう努めており、すべての退屈なタスクを自動化しています。さらに、日常業務に必要な共通機能も提供します。
オートメーションAutomated Project creation Automated SSL Automated DNS Host permission sync | モードStatic files PHP files Reverse Proxy Websockets | バックエンドPHP-FPM NodeJS Python Golang ... | プロファイリングBlackfire Xdebug XHProf |
プロジェクトUnlimited Projects Inter-Project Communication Custom Project domains Valid browser HTTPS | イントラネットVirtual Hosts C&C Email Reader OpCache Gui | 電池Adminer phpMyAdmin phpPgAdmin phpRedMind | サービスSQL NoSQL Cache ... |
Devilbox は、お客様が必要とするすべてのサービスを提供することで、地域発展のためのスイス アーミー ナイフとなることを目指しています。その背後にあるアーキテクチャについて理解し、何が利用できるかを確認するには、そのコンポーネントと使用法を見てください。
最小スタックこれは、実行できる可能な限り最小の完全に機能するスタックです。 | フルスタック実際に何が可能なのかをよりよく理解するには、完全な例をご覧ください。 |
docker-compose
を介して 3 つの異なる方法で Devilbox を起動して操作できます。
選択的起動
オンデマンド (実行中にコンテナを追加/削除)
完全な起動
Devilbox を開始する前に、必要なコンテナの種類がすでにわかっている場合は、それらを明示的に指定するだけです。
# Devilbox git ディレクトリ内で httpd php mysql を開始し、redisdocker-compose up httpd php mysql redis
イントラネットには、現在実行しているコンテナが表示されます。
Devilbox がすでに開始されている場合は、その場でさらにコンテナをアタッチできます。
# Devilbox git ディレクトリ内で mongo と memcacheddocker-compose up mongo memcd をアタッチします
必要のない特定のコンテナをシャットダウンすることもできます
# Devilbox git ディレクトリ内 shutdown redisdocker-compose stop redis
すべてを開始したいだけの場合は、引数なしでdocker-compose up
実行します。
# Devilbox git ディレクトリ内で alldocker-compose up を開始します
イントラネットには、現在実行しているコンテナが表示されます。
視覚的なガイドが必要な場合は、Youtube にある 2 つの紹介ビデオをご覧ください。
ドキュメント: Devilbox をインストールする |デビルボックスを開始する | .env ファイル
次の表は、Devilbox に同梱されているすべての統合および事前構成された Docker コンテナを示しています。 Web サーバーと PHP コンテナのみが必須で、その他はすべてオプションであり、起動する必要はありません。
希望する環境を正確に反映するために、それぞれのバージョンが複数の異なるバージョンでも利用可能です。
アクセル | ウェブ | アプリ | SQL | NoSQL | キュー/検索 | エルク | ユーティリティ |
---|---|---|---|---|---|---|---|
HAプロキシ | アパッチ | PHP | マリアDB | Memcached | ラビットMQ | エラスティックサーチ | バインド |
ワニス | Nginx | Python (フラスコ) | MySQL | モンゴDB | ソルル | ログスタッシュ | ブラックファイア |
ペルコナDB | レディス | キバナ | メールホッグ | ||||
PostgreSQL | ングロク |
ドキュメント:利用可能なコンテナ
取り付け可能なコンテナにはそれぞれ、さまざまなバージョンが付属しています。コンテナーに必要なバージョンを選択するには、 .env
ファイルを編集し、選択したバージョンのコメントを解除するだけです。任意の組み合わせが可能です。
アパッチ | Nginx | PHP | MySQL | マリアDB | ペルコナ | PgSQL | レディス | Memcached | モンゴDB |
---|---|---|---|---|---|---|---|---|---|
2.2 | 安定した | 5.2 [1] | 5.5 | 5.5 | 5.5 | 9.0 | 2.8 | 1.4 | 2.8 |
2.4 | 幹線 | 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 | 最新 | 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 | 最新 | 5.0 | |||||
7.4 | 10.8 | 12 | 最新 | ||||||
8.0 | 10.9 | ... | |||||||
8.1 | 10.10 | 15 | |||||||
8.2 | 最新 |
ドキュメント:コンテナーのバージョンを変更する
デフォルトのスタックに加えて、簡単に有効にして開始できる他のさまざまなサービスがあります。
Python (フラスコ) | ブラックファイア | エルク | メールホッグ | ングロク | ラビットMQ | ソルル | HAプロキシ | ワニス |
---|---|---|---|---|---|---|---|---|
2.7 | 1.8 | 5.xy | v1.0.0 | 2.x | 3.6 | 5 | 1.x | 4 |
... | ... | 6.xy | 最新 | 3.7 | 6 | 5 | ||
3.7 | 1.18.0 | 7.xy | 最新 | 7 | 6 | |||
3.8 | 最新 | 最新 | 最新 |
ドキュメント:カスタム コンテナーを有効にする
Devilbox は開発スタックであるため、多くの異なるフレームワークで動作するために、すぐに使用できる多くの PHP モジュールが利用できるようにされています。
コアが有効になっています (無効にすることはできません):
有効 (無効にすることもできます):
利用可能ですが無効です (有効にすることもできます): d
モジュール | PHP5.2 | PHP5.3 | PHP5.4 | PHP5.5 | PHP5.6 | PHP7.0 | PHP7.1 | PHP7.2 | PHP7.3 | PHP7.4 | PHP8.0 | PHP8.1 | PHP8.2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
amqp | |||||||||||||
APC | |||||||||||||
アキュ | |||||||||||||
ビーマス | |||||||||||||
ブラックファイア | d | d | d | d | d | d | d | ||||||
BZ2 | |||||||||||||
カレンダー | |||||||||||||
ctype | |||||||||||||
カール | |||||||||||||
日付 | |||||||||||||
dba | |||||||||||||
ドム | |||||||||||||
魅惑する | |||||||||||||
エレグ | |||||||||||||
exif | |||||||||||||
FFI | |||||||||||||
ファイル情報 | |||||||||||||
フィルター | |||||||||||||
ftp | |||||||||||||
ゴッド | |||||||||||||
テキストを取得する | |||||||||||||
GMP | |||||||||||||
ハッシュ | |||||||||||||
アイコンv | |||||||||||||
イグバイナリ | |||||||||||||
イマジック | |||||||||||||
画像 | |||||||||||||
インターベース | |||||||||||||
国際 | |||||||||||||
イオンキューブ | d | d | d | d | d | d | d | ||||||
json | |||||||||||||
LDAP | |||||||||||||
libxml | |||||||||||||
lz4 | |||||||||||||
lzf | |||||||||||||
mbstring | |||||||||||||
mcrypt | |||||||||||||
メモリキャッシュ | |||||||||||||
memcached | |||||||||||||
マッシュ | |||||||||||||
モンゴ | |||||||||||||
モンゴデータベース | |||||||||||||
メッセージパック | |||||||||||||
mysql | |||||||||||||
ミスクリ | |||||||||||||
mysqlnd | |||||||||||||
OAuth | |||||||||||||
oci8 | d | d | d | d | d | d | d | d | d | d | d | d | |
OPキャッシュ | |||||||||||||
オープンSSL | |||||||||||||
pcntl | |||||||||||||
ピークレ | |||||||||||||
PDO | |||||||||||||
pdo_dblib | |||||||||||||
PDO_ファイアバード | |||||||||||||
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 | |||||||||||||
ファルコン | d | d | d | d | d | d | d | d | d | d | d | ||
ファー | |||||||||||||
ポジックス | |||||||||||||
呪文 | |||||||||||||
psr | d | d | d | d | d | d | d | d | d | d | d | ||
ランダム | |||||||||||||
ルカフカ | d | d | d | d | d | d | d | d | d | d | d | d | |
リードライン | |||||||||||||
記録する | |||||||||||||
レディス | |||||||||||||
反射 | |||||||||||||
セッション | |||||||||||||
シュモップ | |||||||||||||
シンプルXML | |||||||||||||
SNMP | |||||||||||||
石鹸 | |||||||||||||
ソケット | |||||||||||||
ナトリウム | |||||||||||||
ソルル | |||||||||||||
SPL | |||||||||||||
スクライト | |||||||||||||
スクライト3 | |||||||||||||
sqlsrv | d | d | d | d | d | d | d | d | |||||
ssh2 | |||||||||||||
むくむ | d | d | d | d | d | d | d | d | d | d | d | ||
sysvmsg | |||||||||||||
システムセム | |||||||||||||
sysvshm | |||||||||||||
きちんとした | |||||||||||||
トークナイザー | |||||||||||||
アップロードの進行状況 | |||||||||||||
uuid | |||||||||||||
VIP | |||||||||||||
wddx | |||||||||||||
Xデバッグ | |||||||||||||
xhprof | d | d | d | d | d | d | d | d | |||||
xlsライター | |||||||||||||
XML | |||||||||||||
XMLリーダー | |||||||||||||
xmlrpc | |||||||||||||
XMLライター | |||||||||||||
xsl | |||||||||||||
ヤムル | |||||||||||||
ジップ | |||||||||||||
ズリブ | |||||||||||||
zstd |
コアが有効になっています (無効にすることはできません):
有効 (無効にすることもできます):
利用可能ですが無効です (有効にすることもできます): d
ドキュメント: PHP モジュールの有効化/無効化
有名で人気のあるツールが役に立ちます。
道具 | PHP5.2 | PHP5.3 | PHP5.4 | PHP5.5 | PHP5.6 | PHP7.0 | PHP7.1 | PHP7.2 | PHP7.3 | PHP7.4 | PHP8.0 | PHP8.1 | PHP8.2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
角度-cli | |||||||||||||
アスガルドCM | |||||||||||||
素晴らしい-ci | |||||||||||||
共受 | |||||||||||||
作曲家 | |||||||||||||
コアパック | |||||||||||||
デプロイヤー | |||||||||||||
エスリント | |||||||||||||
git | |||||||||||||
git-flow | |||||||||||||
グラント-cli | |||||||||||||
ゴクゴク | |||||||||||||
jq | |||||||||||||
jsonlint | |||||||||||||
laravelインストーラー | |||||||||||||
ララベルルーメン | |||||||||||||
リンクチェック | |||||||||||||
mdl | |||||||||||||
mdlint | |||||||||||||
mupdf ツール | |||||||||||||
ネットツール | |||||||||||||
ノード | |||||||||||||
npm | |||||||||||||
NVM | |||||||||||||
ファルコン開発ツール | |||||||||||||
php-cs-fixer | |||||||||||||
phpcbf | |||||||||||||
phpcs | |||||||||||||
phpmd | |||||||||||||
phpunit | |||||||||||||
ピップ | |||||||||||||
午後2時 | |||||||||||||
pwncat | |||||||||||||
rsync | |||||||||||||
生意気な | |||||||||||||
シェルチェック | |||||||||||||
ssh | |||||||||||||
スタイルリント | |||||||||||||
SVN | |||||||||||||
symfony-cli | |||||||||||||
タスクファイル | |||||||||||||
ティグ | |||||||||||||
ヴィム | |||||||||||||
vue-cli | |||||||||||||
webpack-cli | |||||||||||||
wkhtmltopdf | |||||||||||||
wp-cli | |||||||||||||
wscat | |||||||||||||
ヤムリント | |||||||||||||
糸 | |||||||||||||
yq | |||||||||||||
zsh |
テストされている限り、制限はなく、実際の環境と同じように任意のフレームワークまたは CMS を使用できます。以下は、広範囲にテストされたフレームワークと CMS の例です。
ドキュメント:
CakePHP のセットアップ | CodeIgniter のセットアップ | Contao のセットアップ | CraftCMS のセットアップ | Drupal のセットアップ | Joomla のセットアップ | Laravel のセットアップ | Magento 2 のセットアップ | PhalconPHP のセットアップ | PhotonCMS のセットアップ | PrestaShop のセットアップ | ProcessWire のセットアップ |ショップウェアのセットアップ | Symfony のセットアップ | Typo3 のセットアップ | WordPress のセットアップ |セットアップ Yii | Zend のセットアップ
テストされている限り、制限はなく、開いているポートを作成する任意のアプリケーションを使用できます。これらのポートは Web サーバーによってリバース プロキシされ、有効な HTTPS を使用することもできます。 Devilbox に組み込まれた自動起動機能により、 docker-compose up
実行するとすぐにアプリケーションが自動的に起動するようにすることができます。
ドキュメント:
リバース プロキシ NodeJ をセットアップする |リバース プロキシのセットアップ Sphinx ドキュメント
Devilbox には、 http://localhost
およびhttps://localhost
に事前設定されたイントラネットが付属しています。これは明示的に無効にすることも、パスワードで保護することもできます。イントラネットは、選択した構成を表示するだけでなく、 DNS レコードが(ホストおよびコンテナ上に) 存在するかどうか、ディレクトリが適切にセットアップされているかどうかなど、現在の構成のステータスも検証します。さらに、データベースや電子メールを操作できる外部ツールも提供します。
仮想ホストの概要(ディレクトリと DNS を検証)
コマンド&コントロール
電子メールの概要
データベースの概要(MySQL、PgSQL、Redis、Memcache など)
情報ページ(Httpd、MySQL、PgSQL、Redis、Memcache など)
他にもたくさん...
以下のバッテリーがデフォルトで Devilbox イントラネットで利用可能です。
管理者 | phpMyAdmin | phpPgAdmin | phpRedMin | PHP Memcached 管理者 | オプキャッシュ GUI | メールビューア |
ドキュメント: Devilbox イントラネット
組み込みイントラネットがどのように見えるかを示すいくつかの例。
Devilbox には、すぐに使えるシンプルなシングルユーザー開発環境から企業ネットワークの共有開発インフラストラクチャに至るまで、多くの機能があります。
これらすべての機能を理解するには、ドキュメントをざっと読んで、何ができるか、そしてそれによって日常生活がどのように簡素化されるかを理解してください。予期せぬ問題が発生した場合は、お気軽にDiscord チャットに参加するか、フォーラムにアクセスして、すぐにコミュニティ サポートを受けてください。
ドキュメント | 不和 | フォーラム | 炎 |
---|---|---|---|
デビルボックス.readthedocs.io | 不和/デビルボックス | 悪魔箱.discourse.グループ | github.com/devilbox/flames |
Devilbox はまだ若いプロジェクトであり、今後長いロードマップが必要です。機能はコミュニティによって決定されるため、あらゆる種類の貢献を歓迎します。
このプロジェクトにスターを付ける
バグや機能リクエストについて問題をオープンにする
このプロジェクトのクローンを作成し、修正または機能を送信します
私は文字通り 100 を超えるプロジェクトに携わるように努めています。私の仕事があなたの生活を楽にしているのであれば、コーヒーやビールを送ることを検討してください。
GitHub のスポンサーシップ
パトレオン
貢献: PyPI: cytopia · Terraform: cytopia · Ansible: cytopia
ロゴとバナーは、devilbox/artworkで見つけることができます。ライセンス条項に従って自由に使用または変更してください。
MITライセンス
著作権 (c) 2016サイトピア