Skip to content

A dockerized environment to build CLI, micro-services and/or web applications based on PHP and Caddy. PHP application is supervised by Caddy

License

Notifications You must be signed in to change notification settings

AlcidesRC/dockerized-php-caddy

Repository files navigation

Continuous Integration

Dockerized PHP - Caddy

A dockerized environment based on Caddy + 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 Caddy support.

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 Caddy webserver.
  • PHP-FPM is managed by Caddy.
  • Everything in one single Docker service.

Requirements

To use this repository you need:

  • Docker - An open source containerization platform.
  • Git - The free and open source distributed version control system.
  • Make - A command to automate the build/manage process.
  • jq - A lightweight and flexible command-line JSON processor.

Built with

Type Component Description
Infrastructure Docker Containerization platform
Service Caddy Server Open source web server with automatic HTTPS written in Go
Service Caddy Supervisor A module to run and supervise background processes from Caddy
Service PHP-FPM PHP with FastCGI Process Manager
Miscelaneous Bash Allows to create an interactive shell within containerized service
Miscelaneous Make Allows to execute commands defined on a Makefile
Miscelaneous jq Allows to beautify the Docker inspections in JSON format

Development Environment

Important

This development environment is based on Dockerized PHP, a framework agnostic dockerized environment to create and deploy PHP applications.

Please take a look to the README.md file to know how to familiarize with it and get up and running.

Important

Default application is based on PHP Skeleton, a minimalistic boilerplate to create PHP applications from scratch.

Please take a look to the 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:

$ mkdir -p ~/path/to/my-new-project && cd ~/path/to/my-new-project
$ git clone git@github.com:alcidesrc/dockerized-php-caddy.git .

Quickstart

$ make init

TL;DR

Building the container

$ make build

Starting the container service

$ make up

Extracting Caddy Local Authority - 20XX ECC Root

$ make install-caddy-certificate

Accessing to web application

$ make open-website

Stopping the container service

$ 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. All security vulnerabilities will be promptly addressed.


License

The MIT License (MIT). Please see LICENSE file for more information.

About

A dockerized environment to build CLI, micro-services and/or web applications based on PHP and Caddy. PHP application is supervised by Caddy

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published