forked from Korbs/4get
Merge pull request 'modify docker entrypoint' (#35) from feature/fix_docker_apache into master
Reviewed-on: https://git.lolcat.ca/lolcat/4get/pulls/35
This commit is contained in:
commit
c85d132211
7 changed files with 101 additions and 26 deletions
|
@ -4,8 +4,7 @@ WORKDIR /var/www/html/4get
|
||||||
RUN apk update && apk upgrade
|
RUN apk update && apk upgrade
|
||||||
RUN apk add php apache2-ssl php82-fileinfo php82-openssl php82-iconv php82-common php82-dom php82-curl curl php82-pecl-apcu php82-apache2 imagemagick php82-pecl-imagick php-mbstring imagemagick-webp imagemagick-jpeg
|
RUN apk add php apache2-ssl php82-fileinfo php82-openssl php82-iconv php82-common php82-dom php82-curl curl php82-pecl-apcu php82-apache2 imagemagick php82-pecl-imagick php-mbstring imagemagick-webp imagemagick-jpeg
|
||||||
|
|
||||||
COPY ./apache/httpd.conf /etc/apache2/httpd.conf
|
COPY ./docker/apache/ /etc/apache2/
|
||||||
COPY ./apache/conf.d/ssl.conf /etc/apache2/conf.d/ssl.conf
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN chmod 777 /var/www/html/4get/icons
|
RUN chmod 777 /var/www/html/4get/icons
|
||||||
|
|
|
@ -152,19 +152,17 @@ Now test the nginx config with `nginx -t`, if it says that everything is good, r
|
||||||
## Install using Docker (lol u lazy fuck)
|
## Install using Docker (lol u lazy fuck)
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -d -p 80:80 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_SERVER_ADMIN_EMAIL="you@example.com" luuul/4get:latest
|
docker run -d -p 80:80 -e FOURGET_SERVER_NAME="4get.ca" luuul/4get:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
...Or with SSL:
|
...Or with SSL:
|
||||||
```
|
```
|
||||||
docker run -d -p 443:443 -e FOURGET_SERVER_NAME="4get.ca" -e FOURGET_SERVER_ADMIN_EMAIL="you@example.com" -v /etc/letsencrypt/live/domain.tld:/etc/4get/certs luuul/4get:latest
|
docker run -d -p 443:443 -v /etc/letsencrypt/live/domain.tld:/etc/4get/certs -e FOURGET_SERVER_NAME="4get.ca" luuul/4get:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
replace enviroment variables FOURGET_SERVER_NAME and FOURGET_SERVER_ADMIN_EMAIL with relevant values
|
|
||||||
|
|
||||||
if the certificate files are not mounted to /etc/4get/certs the service listens to port 80
|
if the certificate files are not mounted to /etc/4get/certs the service listens to port 80
|
||||||
|
|
||||||
the certificate directory expects files named `cert.pem`, `chain.pem`, `privkey.pem`
|
the certificate directory expects files named `fullchain.pem` and `privkey.pem`
|
||||||
|
|
||||||
|
|
||||||
## Install using Docker Compose
|
## Install using Docker Compose
|
||||||
|
@ -189,7 +187,6 @@ services:
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
- FOURGET_SERVER_NAME=4get.ca
|
- FOURGET_SERVER_NAME=4get.ca
|
||||||
- FOURGET_SERVER_ADMIN_EMAIL="you@example.com"
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
|
|
@ -8,7 +8,6 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- FOURGET_VERSION=6
|
- FOURGET_VERSION=6
|
||||||
- FOURGET_SERVER_NAME=4get.ca
|
- FOURGET_SERVER_NAME=4get.ca
|
||||||
- FOURGET_SERVER_ADMIN_EMAIL=you@example.com
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
|
89
docker/apache/http.conf
Normal file
89
docker/apache/http.conf
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
Listen 80
|
||||||
|
ServerTokens OS
|
||||||
|
ServerRoot /var/www
|
||||||
|
ServerSignature On
|
||||||
|
ServerName localhost
|
||||||
|
|
||||||
|
DocumentRoot "/var/www/html/4get"
|
||||||
|
|
||||||
|
LogLevel warn
|
||||||
|
CustomLog /dev/null common
|
||||||
|
ErrorLog /dev/null
|
||||||
|
|
||||||
|
<Directory "/var/www/html/4get">
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
|
||||||
|
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]
|
||||||
|
RewriteCond %{REQUEST_FILENAME}.php -f
|
||||||
|
RewriteRule .* $0.php
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
AllowOverride None
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
LoadModule rewrite_module modules/mod_rewrite.so
|
||||||
|
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
|
||||||
|
LoadModule authn_file_module modules/mod_authn_file.so
|
||||||
|
LoadModule authn_core_module modules/mod_authn_core.so
|
||||||
|
LoadModule authz_host_module modules/mod_authz_host.so
|
||||||
|
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
|
||||||
|
LoadModule authz_user_module modules/mod_authz_user.so
|
||||||
|
LoadModule authz_core_module modules/mod_authz_core.so
|
||||||
|
LoadModule access_compat_module modules/mod_access_compat.so
|
||||||
|
LoadModule auth_basic_module modules/mod_auth_basic.so
|
||||||
|
LoadModule reqtimeout_module modules/mod_reqtimeout.so
|
||||||
|
LoadModule filter_module modules/mod_filter.so
|
||||||
|
LoadModule mime_module modules/mod_mime.so
|
||||||
|
LoadModule log_config_module modules/mod_log_config.so
|
||||||
|
LoadModule env_module modules/mod_env.so
|
||||||
|
LoadModule headers_module modules/mod_headers.so
|
||||||
|
LoadModule setenvif_module modules/mod_setenvif.so
|
||||||
|
LoadModule version_module modules/mod_version.so
|
||||||
|
LoadModule unixd_module modules/mod_unixd.so
|
||||||
|
LoadModule status_module modules/mod_status.so
|
||||||
|
LoadModule autoindex_module modules/mod_autoindex.so
|
||||||
|
LoadModule dir_module modules/mod_dir.so
|
||||||
|
LoadModule alias_module modules/mod_alias.so
|
||||||
|
LoadModule negotiation_module modules/mod_negotiation.so
|
||||||
|
|
||||||
|
<IfModule unixd_module>
|
||||||
|
User apache
|
||||||
|
Group apache
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Directory />
|
||||||
|
AllowOverride none
|
||||||
|
Require all denied
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<IfModule dir_module>
|
||||||
|
DirectoryIndex index.html
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<Files ".ht*">
|
||||||
|
Require all denied
|
||||||
|
</Files>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<IfModule headers_module>
|
||||||
|
RequestHeader unset Proxy early
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mime_module>
|
||||||
|
TypesConfig /etc/apache2/mime.types
|
||||||
|
AddType application/x-compress .Z
|
||||||
|
AddType application/x-gzip .gz .tgz
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<IfModule mime_magic_module>
|
||||||
|
MIMEMagicFile /etc/apache2/magic
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
IncludeOptional /etc/apache2/conf.d/*.conf
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
ServerTokens OS
|
ServerTokens OS
|
||||||
ServerRoot /var/www
|
ServerRoot /var/www
|
||||||
ServerSignature On
|
ServerSignature On
|
||||||
ServerName 4get.ca
|
ServerName localhost
|
||||||
ServerAdmin you@example.com
|
|
||||||
|
|
||||||
DocumentRoot "/var/www/html/4get"
|
DocumentRoot "/var/www/html/4get"
|
||||||
|
|
||||||
|
@ -12,9 +11,8 @@ ErrorLog /dev/null
|
||||||
|
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
SSLEngine on
|
SSLEngine on
|
||||||
SSLCertificateFile /etc/4get/certs/cert.pem
|
SSLCertificateFile /etc/4get/certs/fullchain.pem
|
||||||
SSLCertificateKeyFile /etc/4get/certs/privkey.pem
|
SSLCertificateKeyFile /etc/4get/certs/privkey.pem
|
||||||
SSLCertificateChainFile /etc/4get/certs/chain.pem
|
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|
||||||
<Directory "/var/www/html/4get">
|
<Directory "/var/www/html/4get">
|
|
@ -1,20 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
sed -i "s/ServerName.*/ServerName ${FOURGET_SERVER_NAME}/g" /etc/apache2/httpd.conf
|
if [ ! -f /etc/4get/certs/fullchain.pem ] || [ ! -f /etc/4get/certs/privkey.pem ]; then
|
||||||
sed -i "s/ServerAdmin.*/ServerAdmin ${FOURGET_SERVER_ADMIN_EMAIL}/g" /etc/apache2/httpd.conf
|
echo "Using http configuration"
|
||||||
|
cp /etc/apache2/http.conf /etc/apache2/httpd.conf
|
||||||
if [ ! -f /etc/4get/certs/cert.pem ] || [ ! -f /etc/4get/certs/chain.pem ] || [ ! -f /etc/4get/certs/privkey.pem ]; then
|
else
|
||||||
# remove SSL VirtualHost
|
echo "Using https configuration"
|
||||||
echo "No certificate files detected. Listening on port 80"
|
cp /etc/apache2/https.conf /etc/apache2/httpd.conf
|
||||||
sed -i '/<VirtualHost \*:443>/,/<\/VirtualHost>/d' /etc/apache2/httpd.conf
|
|
||||||
|
|
||||||
# prepend Listen 80 to /apache2/httpd.conf
|
|
||||||
echo "Listen 80" > /etc/apache2/httpd.conf_temp
|
|
||||||
cat /etc/apache2/httpd.conf >> /etc/apache2/httpd.conf_temp
|
|
||||||
mv /etc/apache2/httpd.conf_temp /etc/apache2/httpd.conf
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
php82 ./docker/gen_config.php
|
php82 ./docker/gen_config.php
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in a new issue