빠른 시작 | 예 | 특징 | 데빌박스 스택 | 커뮤니티 | 기여 | 로고 | 특허
Devilbox는 자동화된 역방향 프록시 통합을 통해 LEMP 및 MEAN은 물론 웹소켓, 노드, Python 및 Golang을 지원하는 다재다능하고 고도로 사용자 정의 가능한 zero-conf 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
입니다.도커 엔진 17.06.0+
도커 작성 1.16.0+
2분 안에 시작하고 실행하세요.
데빌박스 다운로드
자식 클론 https://github.com/cytopia/devilbox
Devilbox git 디렉터리를 입력하세요.
CD 데블박스
기본 환경 파일 복사
cp env-예제 .env
중요: 호스트 시스템의 포트 80
및443
에서 수신 대기 중인 항목이 없는지 확인하십시오. 이 포트는 Devilbox 웹서버에 필요합니다.
httpd
, php
및 mysql
컨테이너 시작
# 이 단계는 필요에 따라 몇 분이 걸릴 수 있습니다.# 처음에 Docker 이미지를 가져와야 합니다.# Devilbox git 디렉토리 내부docker-compose up httpd php mysql
브라우저에서 http://localhost를 방문하세요.
데빌박스 다운로드
자식 클론 https://github.com/cytopia/devilbox
Devilbox git 디렉터리를 입력하세요.
CD 데블박스
기본 환경 파일 복사
cp env-예제 .env
중요: 호스트 시스템의 포트 80
및443
에서 수신 대기 중인 항목이 없는지 확인하십시오. 이 포트는 Devilbox 웹서버에 필요합니다.
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 웹서버에 필요합니다.
Windows에서 터미널을 열고 httpd
, php
및 mysql
컨테이너를 시작합니다.
httpd
, php
및 mysql
컨테이너 시작
# 이 단계는 필요에 따라 몇 분 정도 걸릴 수 있습니다.# 처음에는 Docker 이미지를 가져와야 합니다.# Devilbox git 디렉토리 내부docker-compose up httpd php mysql
브라우저에서 http://localhost를 방문하세요.
Devilbox를 사용하면 호스트 시스템은 물론 작업 컨테이너 내부에서도 프로젝트 작업을 수행할 수 있습니다. 프로젝트 파일은 두 위치 모두에서 사용할 수 있습니다. 일반적으로 작업 흐름은 다음과 같습니다.
호스트 시스템에서 선호하는 IDE(예: PhpStorm)를 사용하여 파일을 추가하고 변경하세요.
컨테이너 내부에서 작업하여 node
, composer
, npm
, phpcs
, webpack
등과 같은 일반적인 cli 도구를 실행하세요.
작업 컨테이너에 들어가려면 ./shell.sh
실행하면 됩니다.
WSL2를 사용하는 Linux, MacOS 및 Windows
# Devilbox git 디렉토리 내부./shell.sh
WSL2가 없는 Windows의 경우
# Devilbox git 디렉토리 내부./shell.bat
첫 번째 프로젝트를 만듭니다.
필요한 컨테이너를 시작합니다.
도커-작성하기 httpd php mysql
작업 컨테이너를 입력하세요.
./shell.sh
/shared/httpd
로 이동합니다.
CD /공유/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 파일을 생성합니다echo '<?php echo "it works";' > index.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
통해 세 가지 방법으로 Devilbox를 시작하고 작동할 수 있습니다.
선택적 시작
온디맨드(실행 중 컨테이너 추가/제거)
전체 시작
Devilbox를 시작하기 전에 어떤 종류의 컨테이너가 필요한지 이미 알고 있다면 명시적으로 지정하면 됩니다.
# Devilbox git 디렉토리 내에서 httpd php mysql 및 redisdocker-compose up httpd php mysql redis를 시작합니다.
인트라넷은 현재 실행 중인 컨테이너를 보여줍니다.
Devilbox가 이미 시작된 경우 즉시 더 많은 컨테이너를 연결할 수 있습니다.
# Devilbox git 디렉토리 내부에 mongo와 memcacheddocker를 연결하고 mongo memcd를 구성합니다.
필요하지 않은 특정 컨테이너를 종료할 수도 있습니다.
# Devilbox git 디렉토리 내부 shutdown redisdocker-compose stop redis
모든 것을 시작하려면 인수 없이 docker-compose up
실행하세요.
# Devilbox git 디렉토리 내에서 alldocker-compose를 시작합니다.
인트라넷은 현재 실행 중인 컨테이너를 보여줍니다.
시각적 가이드를 선호한다면 YouTube에 있는 두 가지 소개 비디오를 살펴보세요.
문서: Devilbox 설치 | 데빌박스 시작 | .env 파일
다음 표에는 Devilbox에서 제공하는 모든 통합 및 사전 구성 Docker 컨테이너가 나열되어 있습니다. 웹서버와 PHP 컨테이너만 필수이고 나머지는 모두 선택사항이므로 시작할 필요가 없습니다.
각각은 원하는 환경을 정확히 반영하기 위해 여러 가지 버전으로도 제공됩니다.
가속 | 편물 | 앱 | SQL | NoSQL | 대기열 / 검색 | 고라니 | 유틸리티 |
---|---|---|---|---|---|---|---|
HAProxy | 아파치 | PHP | 마리아DB | 멤캐시드 | RabbitMQ | 탄력적 검색 | 묶다 |
광택 | 엔진스 | 파이썬(플라스크) | MySQL | 몽고DB | 솔르 | 로그스태시 | 블랙파이어 |
페르코나DB | 레디스 | 키바나 | 메일호그 | ||||
포스트그레SQL | 응록 |
문서: 사용 가능한 컨테이너
부착 가능한 모든 컨테이너에는 다양한 버전이 제공됩니다. 컨테이너에 대해 원하는 버전을 선택하려면 .env
파일을 편집하고 선택한 버전의 주석 처리를 제거하기만 하면 됩니다. 어떤 조합이라도 가능합니다.
아파치 | 엔진스 | PHP | MySQL | 마리아DB | 페르코나 | PgSQL | 레디스 | 멤캐시드 | 몽고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 | 최신 |
문서: 컨테이너 버전 변경
기본 스택 외에도 쉽게 활성화하고 시작할 수 있는 다양한 다른 서비스가 있습니다.
파이썬(플라스크) | 블랙파이어 | 고라니 | 메일호그 | 응록 | RabbitMQ | 솔르 | HAProxy | 광택 |
---|---|---|---|---|---|---|---|---|
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
모듈 | 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 | |||||||||||||
APCU | |||||||||||||
bcmath | |||||||||||||
검은 불 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | ||||||
bz2 | |||||||||||||
달력 | |||||||||||||
ctype | |||||||||||||
컬 | |||||||||||||
날짜 | |||||||||||||
DBA | |||||||||||||
돔 | |||||||||||||
호리다 | |||||||||||||
에레그 | |||||||||||||
엑시프 | |||||||||||||
FFI | |||||||||||||
파일 정보 | |||||||||||||
필터 | |||||||||||||
FTP | |||||||||||||
gd | |||||||||||||
gettext | |||||||||||||
gmp | |||||||||||||
해시시 | |||||||||||||
아이콘 | |||||||||||||
이진수 | |||||||||||||
상상력 | |||||||||||||
아이맵 | |||||||||||||
인터베이스 | |||||||||||||
국제 | |||||||||||||
이온큐브 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | ||||||
JSON | |||||||||||||
LDAP | |||||||||||||
libxml | |||||||||||||
lz4 | |||||||||||||
lzf | |||||||||||||
mbstring | |||||||||||||
mcrypt | |||||||||||||
멤캐시 | |||||||||||||
멤캐시드 | |||||||||||||
마해시 | |||||||||||||
몽고 | |||||||||||||
몽고디비 | |||||||||||||
msgpack | |||||||||||||
mysql | |||||||||||||
mysqli | |||||||||||||
mysqlnd | |||||||||||||
OAuth | |||||||||||||
oci8 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | |
OP캐시 | |||||||||||||
openssl | |||||||||||||
pcntl | |||||||||||||
pcre | |||||||||||||
PDO | |||||||||||||
pdo_dblib | |||||||||||||
PDO_파이어버드 | |||||||||||||
pdo_mysql | |||||||||||||
PDO_OCI | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | |||||
pdo_pgsql | |||||||||||||
pdo_sqlite | |||||||||||||
pdo_sqlsrv | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | |||||
pgsql | |||||||||||||
팔콘 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | ||
파르 | |||||||||||||
포식스 | |||||||||||||
pspell | |||||||||||||
psr | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | ||
무작위의 | |||||||||||||
르드카프카 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | |
읽어보기 | |||||||||||||
녹음하다 | |||||||||||||
레디스 | |||||||||||||
반사 | |||||||||||||
세션 | |||||||||||||
shmop | |||||||||||||
SimpleXML | |||||||||||||
snmp | |||||||||||||
비누 | |||||||||||||
소켓 | |||||||||||||
나트륨 | |||||||||||||
솔르 | |||||||||||||
SPL | |||||||||||||
SQLite | |||||||||||||
SQLite3 | |||||||||||||
sqlsrv | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | |||||
SSH2 | |||||||||||||
스울 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | ||
sysvmsg | |||||||||||||
sysvsem | |||||||||||||
sysvshm | |||||||||||||
정돈하다 | |||||||||||||
토크나이저 | |||||||||||||
업로드 진행 | |||||||||||||
uuid | |||||||||||||
VIP | |||||||||||||
wddx | |||||||||||||
X디버그 | |||||||||||||
xhprof | 디 | 디 | 디 | 디 | 디 | 디 | 디 | 디 | |||||
xlswriter | |||||||||||||
xml | |||||||||||||
XML리더 | |||||||||||||
xmlrpc | |||||||||||||
XML작성기 | |||||||||||||
xsl | |||||||||||||
YAML | |||||||||||||
지퍼 | |||||||||||||
zlib | |||||||||||||
zstd |
코어 활성화(비활성화할 수 없음):
활성화(비활성화 가능):
사용 가능하지만 비활성화됨(활성화 가능): d
문서: PHP 모듈 활성화/비활성화
잘 알려져 있고 널리 사용되는 도구가 귀하의 서비스에 제공됩니다.
도구 | 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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
각도-cli | |||||||||||||
아스가르드cms | |||||||||||||
굉장한-ci | |||||||||||||
암호수용 | |||||||||||||
작곡가 | |||||||||||||
코어팩 | |||||||||||||
배포자 | |||||||||||||
에스린트 | |||||||||||||
자식 | |||||||||||||
자식 흐름 | |||||||||||||
그런트-cli | |||||||||||||
꿀꺽꿀꺽 | |||||||||||||
jq | |||||||||||||
jsonlint | |||||||||||||
laravel 설치 프로그램 | |||||||||||||
라 라벨 루멘 | |||||||||||||
링크체크 | |||||||||||||
MDL | |||||||||||||
mdlint | |||||||||||||
mupdf 도구 | |||||||||||||
네트 도구 | |||||||||||||
마디 | |||||||||||||
npm | |||||||||||||
NVM | |||||||||||||
phalcon-devtools | |||||||||||||
PHP-CS-Fixer | |||||||||||||
phpcbf | |||||||||||||
phpcs | |||||||||||||
phpmd | |||||||||||||
PHP 단위 | |||||||||||||
씨 | |||||||||||||
오후 2시 | |||||||||||||
폰캣 | |||||||||||||
재동기화 | |||||||||||||
욕 | |||||||||||||
쉘체크 | |||||||||||||
SSH | |||||||||||||
스타일린트 | |||||||||||||
svn | |||||||||||||
심포니-cli | |||||||||||||
작업 파일 | |||||||||||||
싸움 | |||||||||||||
정력 | |||||||||||||
vue-cli | |||||||||||||
웹팩-cli | |||||||||||||
wkhtmltopdf | |||||||||||||
wp-cli | |||||||||||||
wscat | |||||||||||||
야믈린트 | |||||||||||||
방사 | |||||||||||||
yq | |||||||||||||
zsh |
테스트한 한 제한이 없으며 실제 환경에서와 마찬가지로 프레임워크나 CMS를 사용할 수 있습니다. 다음은 광범위하게 테스트된 프레임워크 및 CMS의 몇 가지 예입니다.
선적 서류 비치:
CakePHP 설정 | CodeIgniter 설정 | Contao 설정 | CraftCMS 설정 | 드루팔 설정 | 줌라 설정 | 라라벨 설정 | 마젠토 2 설정 | PhalconPHP 설정 | PhotonCMS 설정 | PrestaShop 설정 | 프로세스와이어 설정 | 설치 프로그램 | 심포니 설정 | 오타3 설정 | WordPress 설정 | 설정 | 젠드 설정
테스트한 한 제한이 없으며 열린 포트를 생성하는 모든 응용 프로그램을 사용할 수 있습니다. 이러한 포트는 웹 서버에 의해 역방향 프록시되며 유효한 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 관리자 | OpCache GUI | 메일 뷰어 |
문서: Devilbox 인트라넷
내장 인트라넷의 모양에 대한 몇 가지 예입니다.
Devilbox는 즉시 사용 가능한 단순한 단일 사용자 개발 환경부터 기업 네트워크를 위한 공유 개발 인프라까지 다양한 기능을 갖추고 있습니다.
모든 기능을 파악하려면 문서를 훑어보고 수행할 수 있는 작업과 일상 생활을 어떻게 단순화할 수 있는지 알 수 있도록 하십시오. 예상치 못한 문제가 발생하면 언제든지 Discord 채팅에 참여하거나 포럼을 방문하여 커뮤니티 지원을 빠르게 받으세요.
문서 | 불화 | 법정 | 화염 |
---|---|---|---|
Devilbox.readthedocs.io | 불일치/악마 상자 | Devilbox.discourse.group | github.com/devilbox/flames |
Devilbox는 아직 긴 로드맵을 가지고 있는 초기 프로젝트입니다. 기능은 커뮤니티 에 의해 결정되므로 어떤 종류의 기여도 환영합니다.
이 프로젝트에 별표 표시하기
버그 및 기능 요청에 대한 문제 해결
이 프로젝트를 복제하고 수정 사항이나 기능을 제출하세요.
저는 말 그대로 100개 이상의 프로젝트를 진행하려고 노력합니다. 내 일이 당신의 삶을 더 편하게 만들고 있다면, 커피나 맥주를 보내는 것을 고려해 보세요.
GitHub 후원
패트리온
기여: PyPI: cytopia · Terraform: cytopia · Ansible: cytopia
로고와 배너는 Devilbox/artwork 에서 확인하실 수 있습니다. 라이센스 조건에 따라 자유롭게 사용하거나 수정하십시오.
MIT 라이센스
Copyright (c) 2016 사이 토피아