Sign inSign up

semhoun/webserver

By semhoun

•Updated 6 months ago

A modern, high-performance PHP webserver Docker image built on FrankenPHP Used in E-Dune infra.

Image
Web servers
0

10K+

semhoun/webserver repository overview

⁠Semhoun's Webserver

License: MIT Docker Image Size Docker Pulls

A modern, high-performance PHP webserver Docker image built on FrankenPHP

⁠Features

  • FrankenPHP - Modern PHP application server built on Caddy
  • PHP 8.4 with extensive extension support
  • Automatic HTTPS with Let's Encrypt support
  • HTTP/2 and HTTP/3 support
  • Brotli and Gzip compression
  • OpenTelemetry tracing support
  • Production and development modes

⁠Quick Start

⁠Docker
docker run -v ./www:/www -p 8080:80 semhoun/webserver
⁠Docker Compose
services:
  webserver:
    image: semhoun/webserver
    environment:
      SERVER_NAME: "www.example.com"
    volumes:
      - ./www/:/www/
    ports:
      - "8080:80"

⁠Configuration

⁠Environment Variables
VariableDescriptionDefault
SERVER_NAMEWebsite domain name:80
DEBUG_MODEEnable PHP debug mode (true/false)false
ENABLE_LETSENCRYPTEnable automatic HTTPSfalse
ACME_EMAILEmail for Let's Encrypt registration-
OTEL_EXPORTER_OTLP_ENDPOINTOpenTelemetry collector endpoint-
QUEUE_WORKERSNumber of queue workers2
⁠Volumes
PathDescription
/wwwWebsite files (auto-detects /www/public as document root)
⁠PHP Extensions Included
  • Core: bcmath, bz2, curl, exif, gd, gmp, intl, mbstring, opcache, pcntl
  • Database: pdo_mysql, pdo_pgsql, pdo_sqlite, redis
  • Security: sodium, ldap, apcu
  • Other: xsl, zip, imagick, memcache, opentelemetry
⁠Built-in Tools
  • Composer - PHP dependency manager
  • Ember - Real-time monitoring dashboard CLI for Caddy & FrankenPHP
  • Git - Version control
  • Vim - Text editor

⁠Architecture

This image is based on:

  • Debian Trixie
  • FrankenPHP (starting at php 8.4)
  • Multi-stage build for optimized image size

⁠Branches & Tags

Multiple PHP versions are available via different branches/tags:

PHP VersionBranchTags
8.5main8.5.x, latest
8.4php-8.48.5.x
8.2php-8.28.2.x
8.1php-8.18.1.x
8.0php-8.08.0.x
7.4php-7.47.4.x
7.3php-7.37.3.x
7.1php-7.17.1.x
5.6php-5.65.6.x

⁠Building from Source

git clone https://gitlab.com/semhoun/docker_webserver.git
cd docker_webserver
docker build -t my-webserver .

⁠License

This project is licensed under the MIT License - see the LICENSE.md⁠ file for details.

⁠Author

Nathanaël Semhoun - @semhoun⁠

Tag summary

Content type

Image

Digest

sha256:120b1940e…

Size

410.3 MB

Last updated

6 months ago

docker pull semhoun/webserver