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
					
				| @ -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 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 lolcat
						lolcat