Skip to content

VapaudenKuolemasta/php-apache-certbot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

php-apache-certbot

Docker image with php, pear, xdiff, pagespeed, apache and certbot. Based on ubuntu:bionic

Docker hub : monkeycompany/php-apache-certbot

Framagit project : monkey-company/php-apache-certbot

Github project : monkey-company/php-apache-certbot

Global check

Monkey Company GitHub Build Status GitHub last commit GitHub release GitHub repo size in bytes Docker Pulls GitHub language count

FOSSA Status

Variables

  • DOMAIN : localhost domain for let's encrypt
  • EMAIL : admin@localhost email for let's encrypt
  • TZ : Europe/Paris timezone
  • SHFILE : /etc/apache2/file.sh additionnal script for cron or other
  • PAGESPEED : false install google pagespeed module apache
  • LIBMOD : re2c additionnal dependencies
  • APAMOD : cache,rewrite,ssl,headers apache2 modules
  • ADPMOD : autoindex apache2 disable modules
  • PHPMOD : bcmath,bz2,intl,gd,mbstring,mysql,zip php modules
  • PEAMOD : xdiff pear packages

Volumes

  • Let's encrypt configuration : /etc/letsencrypt/
  • Apache configuration : /etc/apache2/
  • PHP configuration : /etc/php/
  • Apache webroot : /var/www/html/

Port

  • HTTP : 80
  • HTTPS : 443

Tutorial

Quick start

Run the docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v ${PWD}/path/letsencrypt-conf/:/etc/letsencrypt/ -v ${PWD}/path/apache-conf/:/etc/apache2/ -v ${PWD}/path/php-conf/:/etc/apache2/ -v ${PWD}/path/www/:/var/www/html/ -e DOMAINS='example.com' -e EMAIL='admin@example.com' monkeycompany/php-apache-certbot command.

Step one

Create a docker-compose.yml file or import yaml in Rancher.

php-apache-certbot:
  image: monkeycompany/php-apache-certbot
  ports:
    - '80:80'
    - '443:443'
  environment:
    DOMAINS: 'example.com'
    EMAIL: 'admin@example.com'
    PAGESPEED: 'true'
    LIBMOD: 're2c'
    APAMOD: 'cache,rewrite,ssl,headers'
    APDMOD: 'autoindex'
    PHPMOD: 'bcmath,bz2,intl,gd,mbstring,mysql,zip'
    PEAMOD: 'xdiff'

  volumes:
    - ${PWD}/path/letsencrypt-conf/:/etc/letsencrypt/
    - ${PWD}/path/apache-conf/:/etc/apache2/
    - ${PWD}/path/php-conf/:/etc/apache2/
    - ${PWD}/path/www/:/var/www/html/

Step two

Run the docker-compose up command in the same directory.

Step three

Run the certbot --apache --non-interactive --agree-tos --email $EMAIL --domains $DOMAINS certonly command in the container.

Step four (For k8s, rancher)

If you use Kubernetes or Rancher, regenerate all the containers to apply the configurations in volumes.

Step five (Optionnal)

If you need cron or additionnal commands, use the variable SHFILE for define a path and make script file :)

About

Docker image with php, apache, sendmail and certbot. Based on webdevops/php-apache

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 70.0%
  • Dockerfile 30.0%