mirror of
https://git.lolcat.ca/lolcat/4get.git
synced 2024-12-24 23:56:34 -05:00
Add Dockerfile and docker entrypoint (#5)
Add Dockerfile and docker entrypoint Co-authored-by: lolcat <lolcat@no-reply@lolcat.ca> Reviewed-on: https://git.lolcat.ca/lolcat/4get/pulls/5 Co-authored-by: throwaway <developerthrowaway@protonmail.com> Co-committed-by: throwaway <developerthrowaway@protonmail.com>
This commit is contained in:
parent
9812155838
commit
40e058a32a
4 changed files with 135 additions and 0 deletions
16
Dockerfile
Normal file
16
Dockerfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
FROM alpine:latest
|
||||
WORKDIR /var/www/html/4get
|
||||
|
||||
RUN apk update && apk upgrade
|
||||
RUN apk add apache2-ssl php82-fileinfo php82-openssl php82-iconv php82-common php82-dom php82-curl curl php82-pecl-apcu php82-apache2 imagemagick php82-pecl-imagick
|
||||
|
||||
COPY ./apache/httpd.conf /etc/apache2/httpd.conf
|
||||
COPY . .
|
||||
|
||||
RUN chmod 777 /var/www/html/4get/icons
|
||||
|
||||
VOLUME ["/etc/4get/certs"]
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
CMD ["./docker/docker-entrypoint.sh"]
|
17
README.md
17
README.md
|
@ -102,3 +102,20 @@ service apache2 restart
|
|||
You'll probably want to setup a tor address at this point, but I'm too lazy to put instructions here.
|
||||
|
||||
Ok bye!!!
|
||||
|
||||
|
||||
|
||||
## Docker Install
|
||||
|
||||
```
|
||||
git clone https://git.lolcat.ca/lolcat/4get
|
||||
cd 4get
|
||||
docker build -t 4get .
|
||||
docker run -d -p 80:80 -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 4get
|
||||
```
|
||||
|
||||
replace enviroment variables FOURGET_SERVER_NAME and FOURGET_SERVER_ADMIN_EMAIL with relevant values
|
||||
|
||||
the certs directory expects files named `cert.pem`, `chain.pem`, `privkey.pem`
|
||||
|
||||
|
||||
|
|
98
apache/httpd.conf
Normal file
98
apache/httpd.conf
Normal file
|
@ -0,0 +1,98 @@
|
|||
ServerTokens OS
|
||||
ServerRoot /var/www
|
||||
ServerSignature On
|
||||
ServerName 4get.ca
|
||||
ServerAdmin you@example.com
|
||||
|
||||
DocumentRoot "/var/www/html/4get"
|
||||
|
||||
LogLevel warn
|
||||
CustomLog /dev/null common
|
||||
ErrorLog /dev/null
|
||||
|
||||
<VirtualHost *:443>
|
||||
SSLEngine on
|
||||
SSLCertificateFile /etc/4get/certs/cert.pem
|
||||
SSLCertificateKeyFile /etc/4get/certs/privkey.pem
|
||||
SSLCertificateChainFile /etc/4get/certs/chain.pem
|
||||
</VirtualHost>
|
||||
|
||||
<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
|
||||
|
4
docker/docker-entrypoint.sh
Executable file
4
docker/docker-entrypoint.sh
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
sed -i "s/ServerName.*/ServerName ${FOURGET_SERVER_NAME}/g" /etc/apache2/httpd.conf
|
||||
sed -i "s/ServerAdmin.*/ServerAdmin ${FOURGET_SERVER_ADMIN_EMAIL}/g" /etc/apache2/httpd.conf
|
||||
httpd -DFOREGROUND
|
Loading…
Reference in a new issue