https://github.com/eea/eea.docker.apache
https://github.com/eea/eea.docker.apache
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/eea/eea.docker.apache
- Owner: eea
- Created: 2015-05-08T14:35:02.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2025-03-13T15:11:45.000Z (over 1 year ago)
- Last Synced: 2025-03-13T16:25:22.992Z (over 1 year ago)
- Language: Dockerfile
- Size: 56.6 KB
- Stars: 4
- Watchers: 46
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
## Apache HTTP server Docker image
This image is generic, thus you can obviously re-use it within
your non-related EEA projects.
- Alpine: **3.19**
- Apache: **2.4.63**
- Expose: **80**
### Supported tags and respective Dockerfile links
- `:latest` [*Dockerfile*](https://github.com/eea/eea.docker.apache/blob/master/Dockerfile) - Alpine: **3.19**, Apache: **2.4.63**
### Stable and immutable tags
- `:2.4-3.4` [*Dockerfile*](https://github.com/eea/eea.docker.apache/tree/2.4-3.3-alpine/alpine/Dockerfile) - Alpine: **3.19** Apache: **2.4.63**
See [older versions](https://github.com/eea/eea.docker.apache/releases)
### Changes
- [CHANGELOG.md](https://github.com/eea/eea.docker.apache/blob/master/CHANGELOG.md)
### Base docker image
- [hub.docker.com](https://hub.docker.com/r/eeacms/apache)
### Source code
- [github.com](http://github.com/eea/eea.docker.apache)
### Installation
1. Install [Docker](https://www.docker.com/).
2. Install [Docker Compose](https://docs.docker.com/compose/).
## Usage
### Run with Docker Compose
Here is a basic example of a `docker-compose.yml` file using the `eeacms/apache` docker image:
version: "2"
services:
apache:
image: eeacms/apache:latest
ports:
- "80:80"
depends_on:
- plone
environment:
APACHE_CONFIG: |-
ServerAdmin contact@localhost
ServerName localhost
ErrorLog /var/log/apache.log
RewriteEngine On
RewriteRule ^/(.*) http://plone:8080/VirtualHostBase/http/localhost:80/VirtualHostRoot/$$1 [P,L]
plone:
image: plone
### Run it with Docker
$ docker run -it --rm -v conf.d/virtual-host.conf:/usr/local/apache2/conf/extra/vh-my-app.conf -p 80:80 eeacms/apache
## Supported environment variables
* `APACHE_MODULES` Load more apache modules, space separated (e.g. `APACHE_MODULES=file_cache_module cache_module cache_disk_module watchdog_module`)
* `APACHE_INCLUDE` Include extra config files, space separated (e.g. `APACHE_INCLUDE=conf/extra/httpd-mpm.conf conf/extra/httpd-languages.conf`)
* `APACHE_CONFIG` Provide entire Apache VH conf. Useful with `docker-compose.yml`
* `APACHE_CONFIG_URL` Provide external VH conf URL (e.g. `APACHE_CONFIG_URL=http://github.com/org/repo/vh-example.conf`)
* `APACHE_SSL_CERT` Provide Apache SSL certificate. Will be saved within container at `/usr/local/apache2/conf/server.crt`.
* `APACHE_SSL_CHAIN` Provide Apache SSL chain. Will be saved within container at `/usr/local/apache2/conf/server-chain.crt`.
* `APACHE_SSL_KEY` Provide Apache SSL key. Will be saved within container at `/usr/local/apache2/conf/server.key`. (**WARNING**: Never commit the SSL key on GitHub)
### Deprecated environment variables. Please use `APACHE_CONFIG` or `APACHE_CONFIG_URL`
* `CONFIG_URL` Provide external VH conf URL (e.g. `CONFIG_URL=http://github.com/org/repo/vh-example.conf`)
* `SERVER_ADMIN` Email address of the Web server administrator (e.g. `SERVER_ADMIN=contact@example.com`)
* `SERVER_NAME` Specifies a hostname and port number (matching the Listen directive) for the server (e.g. `SERVER_NAME=www.example.com`)
* `SERVER_ALIAS` Alternate names for a host used when matching requests to name-virtual hosts (e.g. `SERVER_ALIAS=example.com`)
* `RewriteCond` Defines a condition under which rewriting will take place (e.g. `RewriteCond=%{HTTP_HOST} ^example\.com [NC]`)
* `RewriteRule` Defines rules for the rewriting engine (e.g. `RewriteRule=^/(.*) http://haproxy:5000/VirtualHostBase/http/example.com:80/Plone/VirtualHostRoot/$1 [P,L]`)
### Reload configuration file for Apache
$ docker exec reload
### Extend it
Build a `Dockerfile` with something similar:
FROM eeacms/apache:latest
ADD your-file.conf /usr/local/apache2/conf/extra/vh-my-app.conf
## Copyright and license
The Initial Owner of the Original Code is European Environment Agency (EEA).
All Rights Reserved.
The Original Code is free software;
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.
## Funding
[European Environment Agency (EU)](http://eea.europa.eu)