Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alcidesrc/dockerized-php-supervisor
A dockerized environment to build CLI, micro-services and/or web applications based on PHP and using built-in webserver with SupervisorD
https://github.com/alcidesrc/dockerized-php-supervisor
bash cli-applications development docker microservices pcov php supervisor uopz web-applications xdebug
Last synced: 16 days ago
JSON representation
A dockerized environment to build CLI, micro-services and/or web applications based on PHP and using built-in webserver with SupervisorD
- Host: GitHub
- URL: https://github.com/alcidesrc/dockerized-php-supervisor
- Owner: AlcidesRC
- License: mit
- Created: 2024-08-24T10:49:02.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-10-05T17:26:10.000Z (4 months ago)
- Last Synced: 2024-11-24T01:25:13.684Z (3 months ago)
- Topics: bash, cli-applications, development, docker, microservices, pcov, php, supervisor, uopz, web-applications, xdebug
- Language: Makefile
- Homepage:
- Size: 69.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![Continuous Integration](https://github.com/AlcidesRC/dockerized-php-supervisor/actions/workflows/ci.yml/badge.svg)](https://github.com/AlcidesRC/dockerized-php-supervisor/actions/workflows/ci.yml)
# Dockerized PHP - Supervisor
> A _dockerized_ environment based on Supervisor + PHP-FPM running on a Linux Alpine container.
[TOC]
------
## Summary
This repository contains a _dockerized_ environment for building PHP applications based on **php:8.3.12-fpm-alpine** with Supervisor.
### Highlights
- Unified environment to build CLI, web applications and/or micro-services based on **PHP8**.
- Multi-stage Dockerfile to allows you to create an optimized **development** or **production-ready** Docker images
- Uses the **built-in PHP webserver**.
- PHP-FPM and built-in webserver are **managed by Supervisor**.
- **Everything in one single Docker container**.------
## Requirements
To use this repository you need:
- [Docker](https://www.docker.com/) - An open source containerization platform.
- [Git](https://git-scm.com/) - The free and open source distributed version control system.
- [Make](https://www.gnu.org/software/make/) - A command to automate the build/manage process.
- [jq](https://jqlang.github.io/jq/download/) - A lightweight and flexible command-line JSON processor.------
## Built with
| Type | Component | Description |
| -------------- | -------------------------------------------------------- | ------------------------------------------------------------ |
| Infrastructure | [Docker](https://www.docker.com/) | Containerization platform |
| Service | [Supervisor](http://supervisord.org/) | Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. |
| Service | [PHP-FPM](https://www.php.net/manual/en/install.fpm.php) | PHP with FastCGI Process Manager |
| Miscelaneous | [Bash](https://www.gnu.org/software/bash/) | Allows to create an interactive shell within containerized service |
| Miscelaneous | [Make](https://www.gnu.org/software/make/) | Allows to execute commands defined on a _Makefile_ |
| Miscelaneous | [jq](https://jqlang.github.io/jq/download/) | Allows to beautify the Docker inspections in JSON format |------
## Development Environment
> [!IMPORTANT]
>
> This development environment is based on [Dockerized PHP](https://github.com/alcidesrc/dockerized-php), a framework agnostic *dockerized* environment to create and deploy PHP applications.
>
> Please take a look to the [README.md](https://github.com/alcidesrc/dockerized-php/blob/main/README.md) file to know how to familiarize with it and get up and running.> [!IMPORTANT]
>
> Default application is based on [PHP Skeleton](https://github.com/alcidesrc/php-skeleton), a minimalistic boilerplate to create PHP applications from scratch.
>
> Please take a look to the [README.md](https://github.com/alcidesrc/php-skeleton/blob/main/README.md) file to know how to familiarize with it and get up and running.------
## Getting Started
Just clone the repository into your preferred path:
```bash
$ mkdir -p ~/path/to/my-new-project && cd ~/path/to/my-new-project
$ git clone [email protected]:alcidesrc/dockerized-php-supervisor.git .
```### Quickstart
```bash
$ make init
```### TL;DR
#### Building the container
```bash
$ make build
```#### Starting the container service
```bash
$ make up
```#### Accessing to Supervisor admin panel
```bash
$ make open-supervisor
```#### Accessing to web application
```bash
$ make open-website
```#### Stopping the container service
```bash
$ make down
```------
## Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities:
**PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY**
### Supported Versions
Only the latest major version receives security fixes.
### Reporting a Vulnerability
If you discover a security vulnerability within this project, please [open an issue here](https://github.com/alcidesrc/dockerized-php-supervisor/issues). All security vulnerabilities will be promptly addressed.
------
## License
The MIT License (MIT). Please see [LICENSE](./LICENSE) file for more information.