https://github.com/alcidesrc/dockerized-php-frankenphp
A dockerized environment to build CLI, micro-services and/or web applications based on PHP and FrankenPHP.
https://github.com/alcidesrc/dockerized-php-frankenphp
Last synced: 3 months ago
JSON representation
A dockerized environment to build CLI, micro-services and/or web applications based on PHP and FrankenPHP.
- Host: GitHub
- URL: https://github.com/alcidesrc/dockerized-php-frankenphp
- Owner: AlcidesRC
- License: mit
- Created: 2024-08-24T17:07:33.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-05T18:42:59.000Z (over 1 year ago)
- Last Synced: 2025-01-29T16:09:12.708Z (over 1 year ago)
- Language: Makefile
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/AlcidesRC/dockerized-php-frankenphp/actions/workflows/ci.yml)
# Dockerized PHP - FrankenPHP
> A _dockerized_ environment based on FrankenPHP + PHP running on a Linux Alpine container.
[TOC]
------
## Summary
This repository contains a _dockerized_ environment for building PHP applications based on **dunglas/frankenphp:php8.5-alpine**.
### 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 **FrankenPHP webserver**.
- PHP is **managed by FrankenPHP**.
- **Everything in one single Docker service**.
------
## 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 | [FrankenPHP](https://frankenphp.dev/) | Open source web server with automatic HTTPS written in Go |
| 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 git@github.com:alcidesrc/dockerized-php-frankenphp.git .
```
### Quickstart
```bash
$ make init
```
### TL;DR
#### Building the container
```bash
$ make build
```
#### Starting the container service
```bash
$ make up
```
#### Extracting Caddy Local Authority - 20XX ECC Root
```bash
$ make install-caddy-certificate
```
#### 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-frankenphp/issues). All security vulnerabilities will be promptly addressed.
------
## License
The MIT License (MIT). Please see [LICENSE](./LICENSE) file for more information.