All Projects → leocavalcante → dwoole

leocavalcante / dwoole

Licence: MIT license
⚙️ Docker image for Swoole apps with Composer, auto-restart on development and a production-ready version.

Programming Languages

PHP
23972 projects - #3 most used programming language
Dockerfile
14818 projects
shell
77523 projects
powershell
5483 projects
hack
652 projects

Projects that are alternatives of or similar to dwoole

Dotenv Flow
Loads environment variables from .env.[development|test|production][.local] files for Node.js® projects.
Stars: ✭ 537 (+1578.13%)
Mutual labels:  development, production
restrictfe
TYPO3 extension restrictfe. Blocks access to frontend and allows to show it only to some defined exception's like if the request is from an authorized backend user, has specific IP, header etc.
Stars: ✭ 12 (-62.5%)
Mutual labels:  development, production
CFE-Blank-Project
A blank Django Starter Project that includes Docker support.
Stars: ✭ 17 (-46.87%)
Mutual labels:  development, production
Bitnami Docker Node
Bitnami Node.js Docker Image
Stars: ✭ 111 (+246.88%)
Mutual labels:  development, production
source
Source: a component library for the Guardian's Design System
Stars: ✭ 97 (+203.13%)
Mutual labels:  production
System Design Primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Stars: ✭ 154,659 (+483209.38%)
Mutual labels:  development
Kooboo
A new web development methodology for JavaScript & C# developers. A super fast and very easy to use CMS.
Stars: ✭ 253 (+690.63%)
Mutual labels:  development
Loft
Namespace & Virtual Cluster Manager for Kubernetes - Lightweight Virtual Clusters, Self-Service Provisioning for Engineers and 70% Cost Savings with Sleep Mode
Stars: ✭ 239 (+646.88%)
Mutual labels:  development
ar-simulation
AR Simulation for Unity • Right in the Editor • Minimally Invasive
Stars: ✭ 101 (+215.63%)
Mutual labels:  development
polycephaly
Groovy code to build z/OS source code files with Jenkins and Git
Stars: ✭ 14 (-56.25%)
Mutual labels:  development
py-mon
Simple package to automatically restart application when file changes are detected!
Stars: ✭ 33 (+3.13%)
Mutual labels:  development
dockerfiles
🐳 Dockerfiles for Nette Framework. Nette in Docker. (@nette)
Stars: ✭ 15 (-53.12%)
Mutual labels:  development
tomcatplugin
Tomcat plugin for Eclipse
Stars: ✭ 63 (+96.88%)
Mutual labels:  development
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+165687.5%)
Mutual labels:  development
kdo
Deployless Development on Kubernetes
Stars: ✭ 63 (+96.88%)
Mutual labels:  development
Comunidade
✊🏽 A comunidade de programação da periferia
Stars: ✭ 252 (+687.5%)
Mutual labels:  development
distrobox
Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox
Stars: ✭ 4,371 (+13559.38%)
Mutual labels:  development
docker-swoole-webapp
Simple Docker-image to build your applications based on Async PHP extensions.
Stars: ✭ 26 (-18.75%)
Mutual labels:  swoole
awesome-dev-discord
A curated list of official, development-related Discord server
Stars: ✭ 153 (+378.13%)
Mutual labels:  development
significa.co
Significa - A digital design-led agency focused on product development.
Stars: ✭ 72 (+125%)
Mutual labels:  development

⚠️ First, I'd like to invite you to take a look at the official Swoole image: https://hub.docker.com/r/phpswoole/swoole

Dwoole

Docker image for Swoole apps with Composer, auto-restart on development and a production-ready version.

Usage

Requirements

  • composer.json
  • index.php (this will be your entry-point)

Entry-point file can be overridden with the environment variable ENTRY_POINT_FILE. See this for an example.

Exposed port is 9501

Using Docker Compose?

A docker-compose.yml file would look like:

version: "3"
services:
  web:
    container_name: my_app
    image: leocavalcante/dwoole:dev
    volumes:
      - ./:/app
    ports:
      - "9501:9501"

Yeah! Simple like that.

What is inside?

Options enabled:

  • --enable-openssl
  • --enable-sockets
  • --enable-http2
  • --enable-mysqlnd

Development

Comes bundled with:

  • sdebug
  • Hot-restart
  • PDO MySQL & MySQLi
  • MongoDB
  • Redis

Watch interval can be overridden with the environment variable WATCH_INTERVAL.

Production

Comes bundled with:

  • Nothing

It is Swoole only. That is because only you knows what your project really needs. The recommended way to use the production variant is as a base image for you project image.

FROM leocavalcante/dwoole:prod
# Add only what your project really needs
COPY . /app

Then you can add whatever extensions you would like.

Adding PHP extensions
RUN apk add --no-cache freetype-dev libjpeg-turbo-dev libpng-dev libzip-dev \
 && docker-php-ext-configure gd && docker-php-ext-install -j$(nproc) gd zip
Adding PECL extensions
RUN pecl install mongodb \
  && docker-php-ext-enable mongodb
RUN pecl install redis \
  && docker-php-ext-enable redis
You can always take a look at the development Dockerfile to see how it installs extensions that you might have used.

Why not inotify?

Dwoole will always commit to the latest PHP and Swoole versions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].