+ basic Docker support; todo

merge-requests/2/head
ptrcnull 2021-01-10 05:09:18 +01:00
parent fe02fa38a3
commit f938165518
3 changed files with 65 additions and 0 deletions

3
.dockerignore Normal file
View File

@ -0,0 +1,3 @@
secret/*
app
config

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM alpine:3.12
RUN apk update \
&& apk add coreutils grep nmap-ncat socat jq bash file curl
WORKDIR /app
COPY . .
EXPOSE 1337
VOLUME /app/config
VOLUME /app/app
ENTRYPOINT /app/http.sh

49
http.sh
View File

@ -1,5 +1,54 @@
#!/bin/bash
trap ctrl_c INT
if [[ ! -f "config/master.sh" ]]; then
mkdir -p config
cat <<PtrcIsCute > "config/master.sh"
#!/bin/bash
declare -A cfg
cfg[ip]=127.0.0.1 # IP address to bind to - use 0.0.0.0 to bind to all
cfg[http]=true # enables/disables listening on HTTP
cfg[port]=1337 # HTTP port
cfg[namespace]='app'
cfg[root]='webroot/'
cfg[index]='index.shs'
cfg[autoindex]=true
cfg[auth_required]=false
cfg[auth_realm]="Laura is cute <3"
cfg[ssl]=false # enables/disables listening on HTTPS
cfg[ssl_port]=8443
cfg[ssl_cert]=''
cfg[ssl_key]=''
cfg[extension]='shs'
cfg[extra_headers]='server: HTTP.sh/0.94 (devel)'
cfg[title]='HTTP.sh 0.94'
cfg[php_enabled]=false # enable PHP script evalutaion (requires PHP)
cfg[python_enabled]=false # enable Python script evalutaion (requires Python)
cfg[log]='log' # filename
# proxy functionality is very WiP
cfg[proxy]=false
cfg[proxy_url]='http://example.com/'
# mail handler config
cfg[mail]=""
cfg[mail_server]=""
cfg[mail_password]=""
cfg[mail_ssl]=true
cfg[mail_ignore_bad_cert]=false
PtrcIsCute
fi
source config/master.sh
function ctrl_c() {