🗃️ Committing everything that changed 🗃️

This commit is contained in:
casjay 2023-02-24 04:09:18 -05:00
parent 3d580dbc34
commit d0397e44c4
No known key found for this signature in database
GPG Key ID: 4F765975C1F0EE5F
16 changed files with 322 additions and 8753 deletions

View File

@ -1,4 +1,9 @@
# Files to ignore # Files to ignore
.gitkeep .gitkeep
.gitignore .gitignore
node_modules/**
.node_modules/** .node_modules/**
**/.gitkeep
**/.gitignore
**/node_modules/**
**/.node_modules/**

8
.gitignore vendored
View File

@ -1,4 +1,7 @@
# gitignore created on 07/09/22 at 08:43 # gitignore created on 02/24/23 at 04:01
# Disable reminder in prompt
ignoredirmessage
# Disable reminder in prompt # Disable reminder in prompt
ignoredirmessage ignoredirmessage
@ -88,3 +91,6 @@ $RECYCLE.BIN/
# ignore .no_push files # ignore .no_push files
**/.no_push **/.no_push
# ignore .no_git files
**/.no_git

View File

@ -1,93 +1,141 @@
FROM casjaysdevdocker/alpine:latest AS build # Docker image for aria2 using alpine template
ARG LICENSE="MIT"
ARG IMAGE_NAME="aria2"
ARG PHP_SERVER="aria2"
ARG TIMEZONE="America/New_York"
ARG BUILD_DATE="Fri Feb 24 03:55:13 AM EST 2023"
ARG DEFAULT_DATA_DIR="/usr/local/share/template-files/data"
ARG DEFAULT_CONF_DIR="/usr/local/share/template-files/config"
ARG DEFAULT_TEMPLATE_DIR="/usr/local/share/template-files/defaults"
ARG ALPINE_VERSION="v3.16" ARG SERVICE_PORT="6800"
ARG EXPOSE_PORTS="6800"
ARG PHP_VERSION=""
ARG NODE_VERSION="system"
ARG NODE_MANAGER="system"
ARG ARIANG_VERSION="1.2.4" ARG ARIANG_VERSION="1.2.4"
ARG DEFAULT_DATA_DIR="/usr/local/share/template-files/data" \ ARG USER="root"
DEFAULT_CONF_DIR="/usr/local/share/template-files/config" \ ARG DISTRO_VERSION="3.17"
DEFAULT_TEMPLATE_DIR="/usr/local/share/template-files/defaults" ARG CONTAINER_VERSION="latest"
ARG IMAGE_VERSION="${DISTRO_VERSION}"
ARG BUILD_VERSION="${DISTRO_VERSION}"
ARG PACK_LIST="bash aria2 unzip nginx" FROM casjaysdevdocker/alpine:${IMAGE_VERSION} AS build
ARG USER
ARG LICENSE
ARG TIMEZONE
ARG IMAGE_NAME
ARG PHP_SERVER
ARG BUILD_DATE
ARG SERVICE_PORT
ARG EXPOSE_PORTS
ARG NODE_VERSION
ARG NODE_MANAGER
ARG BUILD_VERSION
ARG DEFAULT_DATA_DIR
ARG DEFAULT_CONF_DIR
ARG DEFAULT_TEMPLATE_DIR
ARG DISTRO_VERSION
ARG PHP_VERSION
ARG ARIANG_VERSION
ENV LANG=en_US.utf8 \ ARG PACK_LIST="bash iproute2 bash-completion ssmtp openssl wget curl jq ca-certificates tzdata mailcap \
ENV=ENV=~/.bashrc \ git ncurses util-linux pciutils usbutils coreutils binutils findutils grep iproute2 sudo rsync zip certbot tini \
TZ="America/New_York" \ aria2 unzip nginx"
SHELL="/bin/sh" \
TERM="xterm-256color" \
TIMEZONE="${TZ:-$TIMEZONE}" \
HOSTNAME="casjaysdev-aria2"
ENV ENV=~/.bashrc
ENV LANG=en_US.UTF-8
ENV TZ="America/New_York"
ENV SHELL="/bin/sh"
ENV TERM="xterm-256color"
ENV TIMEZONE="${TZ:-$TIMEZONE}"
ENV HOSTNAME="casjaysdev-aria2"
USER ${USER}
COPY ./rootfs/. / COPY ./rootfs/. /
RUN set -ex; \ RUN set -ex; \
rm -Rf "/etc/apk/repositories"; \ rm -Rf "/etc/apk/repositories"; \
[ "$DISTRO_VERSION" = "latest" ] && DISTRO_VERSION="edge"; \
[ "$DISTRO_VERSION" = "edge" ] || DISTRO_VERSION="v${DISTRO_VERSION}" ; \
mkdir -p "${DEFAULT_DATA_DIR}" "${DEFAULT_CONF_DIR}" "${DEFAULT_TEMPLATE_DIR}"; \ mkdir -p "${DEFAULT_DATA_DIR}" "${DEFAULT_CONF_DIR}" "${DEFAULT_TEMPLATE_DIR}"; \
echo "http://dl-cdn.alpinelinux.org/alpine/${ALPINE_VERSION}/main" >>"/etc/apk/repositories"; \ echo "http://dl-cdn.alpinelinux.org/alpine/${DISTRO_VERSION}/main" >>"/etc/apk/repositories"; \
echo "http://dl-cdn.alpinelinux.org/alpine/${ALPINE_VERSION}/community" >>"/etc/apk/repositories"; \ echo "http://dl-cdn.alpinelinux.org/alpine/${DISTRO_VERSION}/community" >>"/etc/apk/repositories"; \
if [ "${ALPINE_VERSION}" = "edge" ]; then echo "http://dl-cdn.alpinelinux.org/alpine/${ALPINE_VERSION}/testing" >>"/etc/apk/repositories" ; fi ; \ if [ "${DISTRO_VERSION}" = "edge" ]; then echo "http://dl-cdn.alpinelinux.org/alpine/${DISTRO_VERSION}/testing" >>"/etc/apk/repositories" ; fi ; \
apk update --update-cache && apk add --no-cache ${PACK_LIST} && \ apk update --update-cache && apk add --no-cache ${PACK_LIST}
curl -q -LSsf https://github.com/mayswind/AriaNg/releases/download/$ARIANG_VERSION/AriaNg-$ARIANG_VERSION.zip -o /tmp/AriaNg-$ARIANG_VERSION.zip && \
RUN curl -q -LSsf https://github.com/mayswind/AriaNg/releases/download/$ARIANG_VERSION/AriaNg-$ARIANG_VERSION.zip -o /tmp/AriaNg-$ARIANG_VERSION.zip && \
mkdir -p /var/www/ariang && unzip /tmp/AriaNg-$ARIANG_VERSION.zip -d /var/www/ariang mkdir -p /var/www/ariang && unzip /tmp/AriaNg-$ARIANG_VERSION.zip -d /var/www/ariang
RUN echo 'Running cleanup' ; \ RUN echo 'Running cleanup' ; \
rm -Rf /usr/share/doc/* /usr/share/info/* /tmp/* /var/tmp/* /etc/nginx/* ; \ BASH_CMD="$(type -P bash)" ; \
rm -Rf /usr/local/bin/.gitkeep /usr/local/bin/.gitkeep /config /data /var/cache/apk/* ; \
rm -rf /lib/systemd/system/multi-user.target.wants/* ; \
rm -rf /etc/systemd/system/*.wants/* ; \ rm -rf /etc/systemd/system/*.wants/* ; \
rm -rf /lib/systemd/system/systemd-update-utmp* ; \
[ -f "BASH_CMD" ] && ln -sf $BASH_CMD /usr/bin/sh ; \
rm -rf /lib/systemd/system/local-fs.target.wants/* ; \ rm -rf /lib/systemd/system/local-fs.target.wants/* ; \
rm -rf /lib/systemd/system/multi-user.target.wants/* ; \
rm -rf /lib/systemd/system/sockets.target.wants/*udev* ; \ rm -rf /lib/systemd/system/sockets.target.wants/*udev* ; \
rm -rf /lib/systemd/system/sockets.target.wants/*initctl* ; \ rm -rf /lib/systemd/system/sockets.target.wants/*initctl* ; \
rm -Rf /usr/share/doc/* /usr/share/info/* /tmp/* /var/tmp/* ; \
rm -rf /lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup* ; \ rm -rf /lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup* ; \
rm -rf /lib/systemd/system/systemd-update-utmp* ; \ rm -Rf /usr/local/bin/.gitkeep /usr/local/bin/.gitkeep /config /data /var/cache/apk/* ; \
if [ -d "/lib/systemd/system/sysinit.target.wants" ]; then cd "/lib/systemd/system/sysinit.target.wants" && rm $(ls | grep -v systemd-tmpfiles-setup) ; fi if [ -d "/lib/systemd/system/sysinit.target.wants" ]; then cd "/lib/systemd/system/sysinit.target.wants" && rm $(ls | grep -v systemd-tmpfiles-setup) ; fi
FROM scratch FROM scratch
ARG USER
ARG LICENSE
ARG TIMEZONE
ARG IMAGE_NAME
ARG PHP_SERVER
ARG BUILD_DATE
ARG SERVICE_PORT
ARG EXPOSE_PORTS
ARG NODE_VERSION
ARG NODE_MANAGER
ARG BUILD_VERSION
ARG DEFAULT_DATA_DIR
ARG DEFAULT_CONF_DIR
ARG DEFAULT_TEMPLATE_DIR
ARG DISTRO_VERSION
ARG PHP_VERSION
ARG \ USER ${USER}
SERVICE_PORT="6800" \ WORKDIR /data/aria2
EXPOSE_PORTS="6800" \
PHP_SERVER="aria2" \
NODE_VERSION="system" \
NODE_MANAGER="system" \
BUILD_VERSION="latest" \
LICENSE="MIT" \
IMAGE_NAME="aria2" \
BUILD_DATE="Wed Oct 19 05:13:52 PM EDT 2022" \
TIMEZONE="America/New_York"
LABEL maintainer="CasjaysDev <docker-admin@casjaysdev.com>" \ LABEL maintainer="CasjaysDev <docker-admin@casjaysdev.com>"
org.opencontainers.image.vendor="CasjaysDev" \ LABEL org.opencontainers.image.vendor="CasjaysDev"
org.opencontainers.image.authors="CasjaysDev" \ LABEL org.opencontainers.image.authors="CasjaysDev"
org.opencontainers.image.vcs-type="Git" \ LABEL org.opencontainers.image.vcs-type="Git"
org.opencontainers.image.name="${IMAGE_NAME}" \ LABEL org.opencontainers.image.name="${IMAGE_NAME}"
org.opencontainers.image.base.name="${IMAGE_NAME}" \ LABEL org.opencontainers.image.base.name="${IMAGE_NAME}"
org.opencontainers.image.license="${LICENSE}" \ LABEL org.opencontainers.image.license="${LICENSE}"
org.opencontainers.image.vcs-ref="${BUILD_VERSION}" \ LABEL org.opencontainers.image.vcs-ref="${BUILD_VERSION}"
org.opencontainers.image.build-date="${BUILD_DATE}" \ LABEL org.opencontainers.image.build-date="${BUILD_DATE}"
org.opencontainers.image.version="${BUILD_VERSION}" \ LABEL org.opencontainers.image.version="${BUILD_VERSION}"
org.opencontainers.image.schema-version="${BUILD_VERSION}" \ LABEL org.opencontainers.image.schema-version="${BUILD_VERSION}"
org.opencontainers.image.url="https://hub.docker.com/r/casjaysdevdocker/${IMAGE_NAME}" \ LABEL org.opencontainers.image.url="https://hub.docker.com/r/casjaysdevdocker/${IMAGE_NAME}"
org.opencontainers.image.vcs-url="https://github.com/casjaysdevdocker/${IMAGE_NAME}" \ LABEL org.opencontainers.image.vcs-url="https://github.com/casjaysdevdocker/${IMAGE_NAME}"
org.opencontainers.image.url.source="https://github.com/casjaysdevdocker/${IMAGE_NAME}" \ LABEL org.opencontainers.image.url.source="https://github.com/casjaysdevdocker/${IMAGE_NAME}"
org.opencontainers.image.documentation="https://hub.docker.com/r/casjaysdevdocker/${IMAGE_NAME}" \ LABEL org.opencontainers.image.documentation="https://hub.docker.com/r/casjaysdevdocker/${IMAGE_NAME}"
org.opencontainers.image.description="Containerized version of ${IMAGE_NAME}" LABEL org.opencontainers.image.description="Containerized version of ${IMAGE_NAME}"
LABEL com.github.containers.toolbox="false"
ENV LANG=en_US.utf8 \ ENV ENV=~/.bashrc
ENV=~/.bashrc \ ENV LANG=en_US.UTF-8
SHELL="/bin/bash" \ ENV SHELL="/bin/bash"
PORT="${SERVICE_PORT}" \ ENV PORT="${SERVICE_PORT}"
TERM="xterm-256color" \ ENV TERM="xterm-256color"
PHP_SERVER="${PHP_SERVER}" \ ENV PHP_SERVER="${PHP_SERVER}"
CONTAINER_NAME="${IMAGE_NAME}" \ ENV PHP_VERSION="${PHP_VERSION}"
TZ="${TZ:-America/New_York}" \ ENV CONTAINER_NAME="${IMAGE_NAME}"
TIMEZONE="${TZ:-$TIMEZONE}" \ ENV TZ="${TZ:-America/New_York}"
HOSTNAME="casjaysdev-${IMAGE_NAME}" ENV TIMEZONE="${TZ:-$TIMEZONE}"
ENV HOSTNAME="casjaysdev-${IMAGE_NAME}"
ENV USER="${USER}"
COPY --from=build /. / COPY --from=build /. /
USER root
WORKDIR /data/aria2
VOLUME [ "/config","/data" ] VOLUME [ "/config","/data" ]
EXPOSE $EXPOSE_PORTS EXPOSE $EXPOSE_PORTS

View File

@ -1,7 +1,7 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004 Version 2, December 2004
Copyright (C) 2022 Jason Hempstead <git-admin@casjaysdev.com> Copyright (C) 2023 casjay <git-admin@casjaysdev.com>
Everyone is permitted to copy and distribute verbatim or modified Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long copies of this license document, and changing it is allowed as long

View File

@ -31,6 +31,6 @@ buildx
## Authors ## Authors
📽 dockermgr: [Github](https://github.com/dockermgr) 📽
🤖 casjay: [Github](https://github.com/casjay) [Docker](https://hub.docker.com/r/casjay) 🤖 🤖 casjay: [Github](https://github.com/casjay) [Docker](https://hub.docker.com/r/casjay) 🤖
📽 dockermgr: [Github](https://github.com/dockermgr) [Docker](https://hub.docker.com/r/dockermgr) 📽
⛵ CasjaysDevDocker: [Github](https://github.com/casjaysdevdocker) [Docker](https://hub.docker.com/r/casjaysdevdocker) ⛵ ⛵ CasjaysDevDocker: [Github](https://github.com/casjaysdevdocker) [Docker](https://hub.docker.com/r/casjaysdevdocker) ⛵

0
rootfs/.gitkeep Normal file
View File

View File

@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck shell=bash # shellcheck shell=bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202210191713-git ##@Version : 202302240401-git
# @@Author : Jason Hempstead # @@Author : Jason Hempstead
# @@Contact : jason@casjaysdev.com # @@Contact : jason@casjaysdev.com
# @@License : LICENSE.md # @@License : WTFPL
# @@ReadME : entrypoint.sh --help # @@ReadME : entrypoint.sh --help
# @@Copyright : Copyright: (c) 2022 Jason Hempstead, Casjays Developments # @@Copyright : Copyright: (c) 2023 Jason Hempstead, Casjays Developments
# @@Created : Wednesday, Oct 19, 2022 17:13 EDT # @@Created : Friday, Feb 24, 2023 04:01 EST
# @@File : entrypoint.sh # @@File : entrypoint.sh
# @@Description : entrypoint point for aria2 # @@Description : entrypoint point for aria2
# @@Changelog : New script # @@Changelog : New script
@ -18,6 +18,9 @@
# @@sudo/root : no # @@sudo/root : no
# @@Template : other/docker-entrypoint # @@Template : other/docker-entrypoint
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Setup trap
trap 'retVal=$?;kill -9 $$;exit $retVal' SIGINT
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set bash options # Set bash options
[ -n "$DEBUG" ] && set -x [ -n "$DEBUG" ] && set -x
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -31,13 +34,15 @@ __exec_command() {
return ${exitCode:-$?} return ${exitCode:-$?}
} }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__pcheck() { [ -n "$(which pgrep 2>/dev/null)" ] && pgrep -x "$1" || return 1; } __curl() { curl -q -LSsf -o /dev/null "$@" &>/dev/null || return 10; }
__find() { find "$1" -mindepth 1 -type ${2:-f,d} 2>/dev/null | grep '^' || return 10; } __find() { find "$1" -mindepth 1 -type ${2:-f,d} 2>/dev/null | grep '^' || return 10; }
__curl() { curl -q -LSsf -o /dev/null -s -w "200" "$@" 2>/dev/null || return 10; } __pcheck() { [ -n "$(which pgrep 2>/dev/null)" ] && pgrep -x "$1" &>/dev/null || return 10; }
__pgrep() { __pcheck "${1:-$SERVICE_NAME}" || ps aux 2>/dev/null | grep -Fw " ${1:-$SERVICE_NAME}" | grep -qv ' grep' || return 10; } __pgrep() { __pcheck "${1:-$SERVICE_NAME}" || ps aux 2>/dev/null | grep -Fw " ${1:-$SERVICE_NAME}" | grep -qv ' grep' || return 10; }
__get_ip6() { ip a 2>/dev/null | grep -w 'inet6' | awk '{print $2}' | grep -vE '^::1|^fe' | sed 's|/.*||g' | head -n1 | grep '^' || echo ''; }
__get_ip4() { ip a 2>/dev/null | grep -w 'inet' | awk '{print $2}' | grep -vE '^127.0.0' | sed 's|/.*||g' | head -n1 | grep '^' || echo '127.0.0.1'; }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__certbot() { __certbot() {
[ -n "$DOMANNAME" ] && [ -n "$CERT_BOT_MAIL" ] || { echo "The variables DOMANNAME and CERT_BOT_MAIL are set" && exit 1; } [ -n "$DOMAINNAME" ] && [ -n "$CERT_BOT_MAIL" ] || { echo "The variables DOMAINNAME and CERT_BOT_MAIL are set" && exit 1; }
[ "$SSL_CERT_BOT" = "true" ] && type -P certbot &>/dev/null || { export SSL_CERT_BOT="" && return 10; } [ "$SSL_CERT_BOT" = "true" ] && type -P certbot &>/dev/null || { export SSL_CERT_BOT="" && return 10; }
certbot $1 --agree-tos -m $CERT_BOT_MAIL certonly --webroot -w "${WWW_ROOT_DIR:-/data/htdocs/www}" -d $DOMAINNAME -d $DOMAINNAME \ certbot $1 --agree-tos -m $CERT_BOT_MAIL certonly --webroot -w "${WWW_ROOT_DIR:-/data/htdocs/www}" -d $DOMAINNAME -d $DOMAINNAME \
--put-all-related-files-into "$SSL_DIR" -key-path "$SSL_KEY" -fullchain-path "$SSL_CERT" --put-all-related-files-into "$SSL_DIR" -key-path "$SSL_KEY" -fullchain-path "$SSL_CERT"
@ -45,17 +50,13 @@ __certbot() {
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__heath_check() { __heath_check() {
status=0 health="Good" status=0 health="Good"
__pgrep ${1:-} || status=$((status + 1)) start-aria2.sh healthcheck || status=$((status + 1))
#__curl "https://1.1.1.1" || status=$((status + 1))
#__curl "http://localhost:$HTTP_PORT/server-health" || status=$((status + 1))
[ "$status" -eq 0 ] || health="Errors reported see docker logs --follow $CONTAINER_NAME" [ "$status" -eq 0 ] || health="Errors reported see docker logs --follow $CONTAINER_NAME"
echo "$(uname -s) $(uname -m) is running and the health is: $health" echo "$(uname -s) $(uname -m) is running and the health is: $health"
return ${status:-$?} return $status
} }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__start_all_services() { __start_all_services() {
echo "$service_message"
start-nginx.sh &
start-aria2.sh start-aria2.sh
return $? return $?
} }
@ -64,17 +65,18 @@ __start_all_services() {
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# export functions # export functions
export -f __exec_command __pcheck __pgrep __find __curl __heath_check __certbot __start_all_services export -f __exec_command __pcheck __pgrep __find __curl __heath_check __certbot
export -f __start_all_services __get_ip4 __get_ip6
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Define default variables - do not change these - redefine with -e or set under Additional # Define default variables - do not change these - redefine with -e or set under Additional
USER="${USER:-root}"
DISPLAY="${DISPLAY:-}" DISPLAY="${DISPLAY:-}"
LANG="${LANG:-C.UTF-8}" LANG="${LANG:-C.UTF-8}"
DOMAINNAME="${DOMAINNAME:-}" DOMAINNAME="${DOMAINNAME:-}"
TZ="${TZ:-America/New_York}" TZ="${TZ:-America/New_York}"
HTTP_PORT="${HTTP_PORT:-80}" PHP_VERSION="${PHP_VERSION//php/}"
HTTPS_PORT="${HTTPS_PORT:-}" SERVICE_USER="${SERVICE_USER:-root}"
SERVICE_PORT="${SERVICE_PORT:-}" SERVICE_PORT="${SERVICE_PORT:-$PORT}"
SERVICE_NAME="${CONTAINER_NAME:-}"
HOSTNAME="${HOSTNAME:-casjaysdev-aria2}" HOSTNAME="${HOSTNAME:-casjaysdev-aria2}"
HOSTADMIN="${HOSTADMIN:-root@${DOMAINNAME:-$HOSTNAME}}" HOSTADMIN="${HOSTADMIN:-root@${DOMAINNAME:-$HOSTNAME}}"
CERT_BOT_MAIL="${CERT_BOT_MAIL:-certbot-mail@casjay.net}" CERT_BOT_MAIL="${CERT_BOT_MAIL:-certbot-mail@casjay.net}"
@ -90,45 +92,54 @@ LOCAL_BIN_DIR="${LOCAL_BIN_DIR:-/usr/local/bin}"
DEFAULT_DATA_DIR="${DEFAULT_DATA_DIR:-/usr/local/share/template-files/data}" DEFAULT_DATA_DIR="${DEFAULT_DATA_DIR:-/usr/local/share/template-files/data}"
DEFAULT_CONF_DIR="${DEFAULT_CONF_DIR:-/usr/local/share/template-files/config}" DEFAULT_CONF_DIR="${DEFAULT_CONF_DIR:-/usr/local/share/template-files/config}"
DEFAULT_TEMPLATE_DIR="${DEFAULT_TEMPLATE_DIR:-/usr/local/share/template-files/defaults}" DEFAULT_TEMPLATE_DIR="${DEFAULT_TEMPLATE_DIR:-/usr/local/share/template-files/defaults}"
CONTAINER_IP_ADDRESS="$(ip a 2>/dev/null | grep 'inet' | grep -v '127.0.0.1' | awk '{print $2}' | sed 's|/.*||g')" CONTAINER_IP_ADDRESS="$(__get_ip4)"
[ -n "$HTTP_PORT" ] || [ -n "$HTTPS_PORT" ] || HTTP_PORT="$SERVICE_PORT" CONTAINER_IP6_ADDRESS="$(__get_ip6)"
[ "$HTTPS_PORT" = "443" ] && HTTP_PORT="$HTTPS_PORT" && SSL_ENABLED="true"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Additional variables and variable overrides # Additional variables and variable overrides
#SERVICE_NAME="" SERVICE_NAME="aria2"
export service_message="Starting $CONTAINER_NAME"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Show start message
ENTRYPOINT_MESSAGE="false"
echo "Executing entrypoint script for $SERVICE_NAME"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ "$SERVICE_PORT" = "443" ] && SSL_ENABLED="true"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Check if this is a new container # Check if this is a new container
[ -f "/data/.docker_has_run" ] && DATA_DIR_INITIALIZED="true" || DATA_DIR_INITIALIZED="false" [ -f "/data/.docker_has_run" ] && DATA_DIR_INITIALIZED="true" || DATA_DIR_INITIALIZED="false"
[ -f "/config/.docker_has_run" ] && CONFIG_DIR_INITIALIZED="true" || CONFIG_DIR_INITIALIZED="false" [ -f "/config/.docker_has_run" ] && CONFIG_DIR_INITIALIZED="true" || CONFIG_DIR_INITIALIZED="false"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# export variables # export variables
export LANG TZ DOMAINNAME HOSTNAME HOSTADMIN SSL_ENABLED SSL_DIR SSL_CA SSL_KEY SERVICE_NAME export USER LANG TZ DOMAINNAME HOSTNAME HOSTADMIN SSL_ENABLED SSL_DIR SSL_CA
export SSL_DIR HTTP_PORT HTTPS_PORT LOCAL_BIN_DIR DEFAULT_CONF_DIR CONTAINER_IP_ADDRESS export SSL_KEY SERVICE_NAME SSL_DIR LOCAL_BIN_DIR SSL_CONTAINER_DIR SSL_CERT_BOT
export SSL_CONTAINER_DIR SSL_CERT_BOT DISPLAY CONFIG_DIR_INITIALIZED DATA_DIR_INITIALIZED export DEFAULT_CONF_DIR CONTAINER_IP_ADDRESS DISPLAY CONFIG_DIR_INITIALIZED DATA_DIR_INITIALIZED
export SERVICE_USER ENTRYPOINT_MESSAGE PHP_VERSION
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# import variables from file # import variables from file
[ -f "/root/env.sh" ] && . "/root/env.sh" [ -f "/root/env.sh" ] && . "/root/env.sh"
[ -f "/config/env.sh" ] && "/config/env.sh" [ -f "/config/env.sh" ] && . "/config/env.sh"
[ -f "/config/.env.sh" ] && . "/config/.env.sh" [ -f "/config/.env.sh" ] && . "/config/.env.sh"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set timezone # Set timezone
[ -n "$TZ" ] && echo "$TZ" >"/etc/timezone" [ -n "$TZ" ] && [ -w "/etc/timezone" ] && echo "$TZ" >"/etc/timezone"
[ -f "/usr/share/zoneinfo/$TZ" ] && ln -sf "/usr/share/zoneinfo/$TZ" "/etc/localtime" [ -f "/usr/share/zoneinfo/$TZ" ] && [ -w "/etc/localtime" ] && ln -sf "/usr/share/zoneinfo/$TZ" "/etc/localtime"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set hostname # Set hostname
if [ -n "$HOSTNAME" ]; then if [ -n "$HOSTNAME" ]; then
echo "$HOSTNAME" >"/etc/hostname" echo "$HOSTNAME" >"/etc/hostname"
if [ -w "/etc/hosts" ]; then
echo "127.0.0.1 $HOSTNAME localhost $HOSTNAME.local" >"/etc/hosts" echo "127.0.0.1 $HOSTNAME localhost $HOSTNAME.local" >"/etc/hosts"
fi fi
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Add domain to hosts file # Add domain to hosts file
if [ -n "$DOMAINNAME" ]; then if [ -n "$DOMAINNAME" ]; then
echo "$HOSTNAME.${DOMAINNAME:-local}" >"/etc/hostname" echo "$HOSTNAME.${DOMAINNAME:-local}" >"/etc/hostname"
if [ -w "/etc/hosts" ]; then
echo "127.0.0.1 $HOSTNAME localhost $HOSTNAME.local" >"/etc/hosts" echo "127.0.0.1 $HOSTNAME localhost $HOSTNAME.local" >"/etc/hosts"
echo "${CONTAINER_IP_ADDRESS:-127.0.0.1} $HOSTNAME.$DOMAINNAME" >>"/etc/hosts" echo "${CONTAINER_IP_ADDRESS:-127.0.0.1} $HOSTNAME.$DOMAINNAME" >>"/etc/hosts"
fi fi
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Delete any gitkeep files # Delete any gitkeep files
[ -d "/data" ] && rm -Rf "/data/.gitkeep" "/data"/*/*.gitkeep [ -d "/data" ] && rm -Rf "/data/.gitkeep" "/data"/*/*.gitkeep
@ -170,8 +181,10 @@ SET_USR_BIN=""
if [ -n "$SET_USR_BIN" ]; then if [ -n "$SET_USR_BIN" ]; then
echo "Setting up bin" echo "Setting up bin"
for create_bin in $SET_USR_BIN; do for create_bin in $SET_USR_BIN; do
if [ -n "$create_bin" ]; then
create_bin_name="$(basename "$create_bin")" create_bin_name="$(basename "$create_bin")"
ln -sf "$create_bin" "$LOCAL_BIN_DIR/$create_bin_name" ln -sf "$create_bin" "$LOCAL_BIN_DIR/$create_bin_name"
fi
done done
fi fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -181,7 +194,14 @@ if [ "$CONFIG_DIR_INITIALIZED" = "false" ] && [ -d "/config" ]; then
if [ -n "$DEFAULT_TEMPLATE_DIR" ] && [ -d "$DEFAULT_TEMPLATE_DIR" ]; then if [ -n "$DEFAULT_TEMPLATE_DIR" ] && [ -d "$DEFAULT_TEMPLATE_DIR" ]; then
for create_template in "$DEFAULT_TEMPLATE_DIR"/*; do for create_template in "$DEFAULT_TEMPLATE_DIR"/*; do
create_template_name="$(basename "$create_template")" create_template_name="$(basename "$create_template")"
if [ -n "$create_template" ]; then
if [ -d "$create_template" ]; then
mkdir -p "/config/$create_template_name/"
cp -Rf "$create_template/." "/config/$create_template_name/" 2>/dev/null
else
cp -Rf "$create_template" "/config/$create_template_name" 2>/dev/null cp -Rf "$create_template" "/config/$create_template_name" 2>/dev/null
fi
fi
done done
fi fi
fi fi
@ -191,7 +211,14 @@ if [ "$CONFIG_DIR_INITIALIZED" = "false" ] && [ -d "/config" ]; then
echo "Copying custom config files" echo "Copying custom config files"
for create_config in "$DEFAULT_CONF_DIR"/*; do for create_config in "$DEFAULT_CONF_DIR"/*; do
create_config_name="$(basename "$create_config")" create_config_name="$(basename "$create_config")"
if [ -n "$create_config" ]; then
if [ -d "$create_config" ]; then
mkdir -p "/config/$create_config_name"
cp -Rf "$create_config/." "/config/$create_config_name/" 2>/dev/null
else
cp -Rf "$create_config" "/config/$create_config_name" 2>/dev/null cp -Rf "$create_config" "/config/$create_config_name" 2>/dev/null
fi
fi
done done
fi fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -200,18 +227,26 @@ if [ "$DATA_DIR_INITIALIZED" = "false" ] && [ -d "/data" ]; then
echo "Copying data files" echo "Copying data files"
for create_data in "$DEFAULT_DATA_DIR"/*; do for create_data in "$DEFAULT_DATA_DIR"/*; do
create_data_name="$(basename "$create_data")" create_data_name="$(basename "$create_data")"
if [ -n "$create_data" ]; then
if [ -d "$create_data" ]; then
mkdir -p "/data/$create_data_name"
cp -Rf "$create_data/." "/data/$create_data_name/" 2>/dev/null
else
cp -Rf "$create_data" "/data/$create_data_name" 2>/dev/null cp -Rf "$create_data" "/data/$create_data_name" 2>/dev/null
fi
fi
done done
fi fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Copy /config to /etc # Copy /config to /etc
if [ -d "/config" ]; then if [ -d "/config" ]; then
echo "Copying /config to /etc" [ "$CONFIG_DIR_INITIALIZED" = "false" ] && echo "Copying /config to /etc"
for create_conf in /config/*; do for create_conf in /config/*; do
if [ -n "$create_conf" ]; then if [ -n "$create_conf" ]; then
create_conf_name="$(basename "$create_conf")" create_conf_name="$(basename "$create_conf")"
if [ -e "/etc/$create_conf_name" ]; then if [ -e "/etc/$create_conf_name" ]; then
if [ -d "/etc/$create_conf_name" ]; then if [ -d "/etc/$create_conf_name" ]; then
mkdir -p "/etc/$create_conf_name/"
cp -Rf "$create_conf/." "/etc/$create_conf_name/" 2>/dev/null cp -Rf "$create_conf/." "/etc/$create_conf_name/" 2>/dev/null
else else
cp -Rf "$create_conf" "/etc/$create_conf_name" 2>/dev/null cp -Rf "$create_conf" "/etc/$create_conf_name" 2>/dev/null
@ -240,7 +275,7 @@ case "$1" in
echo "Usage: $APPNAME [healthcheck, bash, command]" echo "Usage: $APPNAME [healthcheck, bash, command]"
echo "Failed command will have exit code 10" echo "Failed command will have exit code 10"
echo "" echo ""
exit ${exitCode:-$?} exit 0
;; ;;
healthcheck) # Docker healthcheck healthcheck) # Docker healthcheck
@ -282,3 +317,5 @@ esac
# end of entrypoint # end of entrypoint
exit ${exitCode:-$?} exit ${exitCode:-$?}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ex: ts=2 sw=2 et filetype=sh

View File

@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# shellcheck shell=bash # shellcheck shell=bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202210191713-git ##@Version : 202302240401-git
# @@Author : Jason Hempstead # @@Author : Jason Hempstead
# @@Contact : jason@casjaysdev.com # @@Contact : jason@casjaysdev.com
# @@License : LICENSE.md # @@License : WTFPL
# @@ReadME : start-aria2.sh --help # @@ReadME : start-aria2.sh --help
# @@Copyright : Copyright: (c) 2022 Jason Hempstead, Casjays Developments # @@Copyright : Copyright: (c) 2023 Jason Hempstead, Casjays Developments
# @@Created : Wednesday, Oct 19, 2022 17:13 EDT # @@Created : Friday, Feb 24, 2023 04:01 EST
# @@File : start-aria2.sh # @@File : start-aria2.sh
# @@Description : script to start aria2 # @@Description : script to start aria2
# @@Changelog : New script # @@Changelog : New script
@ -18,26 +18,84 @@
# @@sudo/root : no # @@sudo/root : no
# @@Template : other/start-service # @@Template : other/start-service
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set trap
trap -- 'retVal=$?;kill -9 $$;exit $retVal' SIGINT SIGTERM ERR EXIT
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set functions # Set functions
__pcheck() { [ -n "$(which pgrep 2>/dev/null)" ] && pgrep -x "$1" || return 1; } __cd() { [ -d "$1" ] && builtin cd "$1" || return 1; }
__curl() { curl -q -LSsf -o /dev/null "$@" &>/dev/null || return 10; }
__find() { find "$1" -mindepth 1 -type ${2:-f,d} 2>/dev/null | grep '^' || return 10; } __find() { find "$1" -mindepth 1 -type ${2:-f,d} 2>/dev/null | grep '^' || return 10; }
__curl() { curl -q -LSsf -o /dev/null -s -w "200" "$@" 2>/dev/null || return 10; } __pcheck() { [ -n "$(which pgrep 2>/dev/null)" ] && pgrep -x "$1" &>/dev/null || return 10; }
__pgrep() { __pcheck "$1" || ps aux 2>/dev/null | grep -Fw " $1" | grep -qv ' grep' || return 10; } __pgrep() { __pcheck "$1" || ps aux 2>/dev/null | grep -Fw " $1" | grep -qv ' grep' || return 10; }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__certbot() { __certbot() {
[ -n "$DOMANNAME" ] && [ -n "$CERT_BOT_MAIL" ] || { echo "The variables DOMANNAME and CERT_BOT_MAIL are set" && exit 1; } [ -n "$DOMAINNAME" ] && [ -n "$CERT_BOT_MAIL" ] || { echo "The variables DOMAINNAME and CERT_BOT_MAIL are set" && exit 1; }
[ "$SSL_CERT_BOT" = "true" ] && type -P certbot &>/dev/null || { export SSL_CERT_BOT="" && return 10; } [ "$SSL_CERT_BOT" = "true" ] && type -P certbot &>/dev/null || { export SSL_CERT_BOT="" && return 10; }
certbot $1 --agree-tos -m $CERT_BOT_MAIL certonly --webroot -w "${WWW_ROOT_DIR:-/data/htdocs/www}" -d $DOMAINNAME -d $DOMAINNAME \ certbot $1 --agree-tos -m $CERT_BOT_MAIL certonly --webroot \
-w "${WWW_ROOT_DIR:-/data/htdocs/www}" -d $DOMAINNAME -d $DOMAINNAME \
--put-all-related-files-into "$SSL_DIR" -key-path "$SSL_KEY" -fullchain-path "$SSL_CERT" --put-all-related-files-into "$SSL_DIR" -key-path "$SSL_KEY" -fullchain-path "$SSL_CERT"
return $?
} }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__heath_check() { __heath_check() {
status=0 health="Good" local healthStatus=0 health="Good"
__pgrep ${1:-} || status=$((status + 1)) #__pgrep ${1:-$SERVICE_NAME} &>/dev/null || healthStatus=$((healthStatus + 1))
__curl "http://localhost:$ARIA2RPCPORT" || status=$((status + 1)) #__curl "http://localhost:$SERVICE_PORT/server-health" || healthStatus=$((healthStatus + 1))
[ "$status" -eq 0 ] || health="Errors reported see docker logs --follow $CONTAINER_NAME" [ "$healthStatus" -eq 0 ] || health="Errors reported see docker logs --follow $CONTAINER_NAME"
echo "$(uname -s) $(uname -m) is running and the health is: $health" return $healthStatus
return ${status:-$?} }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__exec_command() {
local exitCode=0
local cmd="${*:-bash -l}"
echo "Executing: $cmd"
eval $cmd || exitCode=1
[ "$exitCode" = 0 ] || exitCode=10
return $exitCode
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__exec_service_start() {
[ -n "$DEBUG" ] && set -x
local exitCode=0 cmd="${SERVICE_COMMAND:-false}"
echo "Setting up service to run as $SERVICE_USER"
echo "Executing: $cmd "
if [ "$SERVICE_USER" = "root" ]; then
su_cmd() { eval "$@" || return 1; }
elif [ "$(builtin type -P su)" ]; then
su_cmd() { su -s /bin/sh - $SERVICE_USER -c "$@" || return 1; }
elif [ "$(builtin type -P runuser)" ]; then
su_cmd() { runuser -u $SERVICE_USER "$@" || return 1; }
elif [ "$(builtin type -P sudo)" ]; then
su_cmd() { sudo -u $SERVICE_USER "$@" || return 1; }
else
echo "Can not switch to $SERVICE_USER"
exit 10
fi
su_cmd "$cmd" && su_cmd "touch /tmp/$SERVICE_NAME.pid" || exitCode=1
[ "$exitCode" -ne 0 ] && exitCode=10 && rm -Rf "/tmp/$SERVICE_NAME.pid"
return $exitCode
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__start_message() {
__pgrep "$SERVICE_NAME" && [ -f "/tmp/$SERVICE_NAME.pid" ] && echo "$SERVICE_NAME is running" && exit 0
if [ "$ENTRYPOINT_MESSAGE" = "false" ]; then
echo "Starting $SERVICE_NAME on port: $SERVICE_PORT"
else
echo "Starting $SERVICE_NAME on: $CONTAINER_IP_ADDRESS:$SERVICE_PORT"
fi
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__exec_pre_start() {
__start_message
nginx -c /etc/nginx/nginx.conf
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__run_backup() {
local save="" date=""
save="${1:-$BACKUP_DIR}"
date="$(date '+%Y%m%d-%H%M')"
tar cfvz "$save/$date.tar.gz" --exclude="$save" "/data" "/config"
return $?
} }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set variables # Set variables
@ -45,10 +103,8 @@ DISPLAY="${DISPLAY:-}"
LANG="${LANG:-C.UTF-8}" LANG="${LANG:-C.UTF-8}"
DOMAINNAME="${DOMAINNAME:-}" DOMAINNAME="${DOMAINNAME:-}"
TZ="${TZ:-America/New_York}" TZ="${TZ:-America/New_York}"
HTTP_PORT="${HTTP_PORT:-80}" PORT="${SERVICE_PORT:-$PORT}"
HTTPS_PORT="${HTTPS_PORT:-}" PHP_VERSION="${PHP_VERSION//php/}"
SERVICE_PORT="${SERVICE_PORT:-$HTTP_PORT}"
SERVICE_NAME="${CONTAINER_NAME:-}"
HOSTNAME="${HOSTNAME:-casjaysdev-aria2}" HOSTNAME="${HOSTNAME:-casjaysdev-aria2}"
HOSTADMIN="${HOSTADMIN:-root@${DOMAINNAME:-$HOSTNAME}}" HOSTADMIN="${HOSTADMIN:-root@${DOMAINNAME:-$HOSTNAME}}"
SSL_CERT_BOT="${SSL_CERT_BOT:-false}" SSL_CERT_BOT="${SSL_CERT_BOT:-false}"
@ -58,6 +114,7 @@ SSL_CA="${SSL_CA:-$SSL_DIR/ca.crt}"
SSL_KEY="${SSL_KEY:-$SSL_DIR/server.key}" SSL_KEY="${SSL_KEY:-$SSL_DIR/server.key}"
SSL_CERT="${SSL_CERT:-$SSL_DIR/server.crt}" SSL_CERT="${SSL_CERT:-$SSL_DIR/server.crt}"
SSL_CONTAINER_DIR="${SSL_CONTAINER_DIR:-/etc/ssl/CA}" SSL_CONTAINER_DIR="${SSL_CONTAINER_DIR:-/etc/ssl/CA}"
BACKUP_DIR="${BACKUP_DIR:-/config/backup}"
WWW_ROOT_DIR="${WWW_ROOT_DIR:-/data/htdocs}" WWW_ROOT_DIR="${WWW_ROOT_DIR:-/data/htdocs}"
LOCAL_BIN_DIR="${LOCAL_BIN_DIR:-/usr/local/bin}" LOCAL_BIN_DIR="${LOCAL_BIN_DIR:-/usr/local/bin}"
DATA_DIR_INITIALIZED="${DATA_DIR_INITIALIZED:-}" DATA_DIR_INITIALIZED="${DATA_DIR_INITIALIZED:-}"
@ -65,19 +122,38 @@ CONFIG_DIR_INITIALIZED="${CONFIG_DIR_INITIALIZED:-}"
DEFAULT_DATA_DIR="${DEFAULT_DATA_DIR:-/usr/local/share/template-files/data}" DEFAULT_DATA_DIR="${DEFAULT_DATA_DIR:-/usr/local/share/template-files/data}"
DEFAULT_CONF_DIR="${DEFAULT_CONF_DIR:-/usr/local/share/template-files/config}" DEFAULT_CONF_DIR="${DEFAULT_CONF_DIR:-/usr/local/share/template-files/config}"
DEFAULT_TEMPLATE_DIR="${DEFAULT_TEMPLATE_DIR:-/usr/local/share/template-files/defaults}" DEFAULT_TEMPLATE_DIR="${DEFAULT_TEMPLATE_DIR:-/usr/local/share/template-files/defaults}"
CONTAINER_IP_ADDRESS="$(ip a 2>/dev/null | grep 'inet' | grep -v '127.0.0.1' | awk '{print $2}' | sed 's|/*||g')" CONTAINER_IP_ADDRESS="$(ip a 2>/dev/null | grep 'inet' | grep -v '127.0.0.1' | awk '{print $2}' | sed 's|/.*||g')"
[ -n "$HTTP_PORT" ] || [ -n "$HTTPS_PORT" ] || HTTP_PORT="$SERVICE_PORT" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ "$HTTPS_PORT" = "443" ] && HTTP_PORT="$HTTPS_PORT" && SSL_ENABLED="true" # Custom variables
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Overwrite variables # Overwrite variables
RPC_SECRET="${RPC_SECRET:-}" WORKDIR=""
SERVICE_PORT="" SERVICE_PORT="$PORT"
SERVICE_NAME="aria2" SERVICE_NAME="aria2"
SERVICE_COMMAND="aria2c --conf-path=/config/aria2/aria2.conf" SERVICE_USER="${SERVICE_USER:-root}"
export exec_message="Starting $SERVICE_NAME on $CONTAINER_IP_ADDRESS:$SERVICE_PORT" SERVICE_COMMAND="$SERVICE_NAME --conf-path=/config/aria2/aria2.conf"
ARIA2RPCPORT="${ARIA2RPCPORT:-$SERVICE_PORT}"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ "$SERVICE_PORT" = "443" ] && SSL_ENABLED="true"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Pre copy commands # Pre copy commands
if [ -f "/config/aria2/aria-ng.config.js" ]; then
get_config="$(ls -A /var/www/ariang/js/aria-ng-*.min.js | grep -v 'f1dd57abb9.min' | head -n1)"
rm -Rf "$get_config"
ln -sf "/config/aria2/aria-ng.config.js" "$get_config"
ln -sf "/config/aria2/aria-ng.config.js" "/var/www/ariang/js/aria-ng-f1dd57abb9.min.js"
[ -n "$CONTAINER_IP_ADDRESS" ] && sed "s|127.0.0.1|$CONTAINER_IP_ADDRESS|g" "/config/aria2/aria-ng.config.js"
fi
if [ -n "$RPC_SECRET" ]; then
echo "Changing rpc secret to $RPC_SECRET"
if grep -sq "rpc-secret=*" "/config/aria2/aria2.conf"; then
sed -i "s|secret: '',|secret: ''$RPC_SECRET'',|g" "/var/www/ariang/js/aria-ng.config.js"
sed -i "s|rpc-secret=.*|rpc-secret=$RPC_SECRET|g" "/config/aria2/aria2.conf"
else
echo "rpc-secret=$RPC_SECRET" >>"/config/aria2/aria2.conf"
fi
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Check if this is a new container # Check if this is a new container
[ -z "$DATA_DIR_INITIALIZED" ] && [ -f "/data/.docker_has_run" ] && DATA_DIR_INITIALIZED="true" [ -z "$DATA_DIR_INITIALIZED" ] && [ -f "/data/.docker_has_run" ] && DATA_DIR_INITIALIZED="true"
@ -103,23 +179,13 @@ if [ "$DATA_DIR_INITIALIZED" = "false" ] && [ -d "$DEFAULT_DATA_DIR/data/htdocs"
[ -d "/data" ] && cp -Rf "$DEFAULT_DATA_DIR/data/htdocs/." "$WWW_ROOT_DIR/" 2>/dev/null [ -d "/data" ] && cp -Rf "$DEFAULT_DATA_DIR/data/htdocs/." "$WWW_ROOT_DIR/" 2>/dev/null
fi fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Post copy commands # Create the backup dir
if [ -f "/config/aria2/aria-ng.config.js" ]; then [ -d "$BACKUP_DIR" ] || mkdir -p "$BACKUP_DIR"
get_config="$(ls -A /var/www/ariang/js/aria-ng-*.min.js | grep -v 'f1dd57abb9.min' | head -n1)"
rm -Rf "$get_config"
ln -sf "/config/aria2/aria-ng.config.js" "$get_config"
ln -sf "/config/aria2/aria-ng.config.js" "/var/www/ariang/js/aria-ng-f1dd57abb9.min.js"
[ -n "$CONTAINER_IP_ADDRESS" ] && sed "s|127.0.0.1|$CONTAINER_IP_ADDRESS|g" "/config/aria2/aria-ng.config.js"
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if [ -n "$RPC_SECRET" ]; then # Post copy commands
echo "Changing rpc secret to $RPC_SECRET" if [ -n "$ARIA2RPCPORT" ] && [ "$ARIA2RPCPORT" != "6800" ]; then
if grep -sq "rpc-secret=*" "/config/aria2/aria2.conf"; then echo "Changing rpc request port to $ARIA2RPCPORT"
sed -i "s|secret: '',|secret: ''$RPC_SECRET'',|g" "/var/www/ariang/js/aria-ng.config.js" sed -i "s|listen .*|listen ${ARIA2RPCPORT}|g" "/etc/nginx/nginx.conf"
sed -i "s|rpc-secret=.*|rpc-secret=$RPC_SECRET|g" "/config/aria2/aria2.conf"
else
echo "rpc-secret=$RPC_SECRET" >>"/config/aria2/aria2.conf"
fi
fi fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Initialized # Initialized
@ -128,11 +194,14 @@ fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# APP Variables overrides # APP Variables overrides
[ -f "/root/env.sh" ] && . "/root/env.sh" [ -f "/root/env.sh" ] && . "/root/env.sh"
[ -f "/config/env.sh" ] && "/config/env.sh" [ -f "/config/env.sh" ] && . "/config/env.sh"
[ -f "/config/.env.sh" ] && . "/config/.env.sh" [ -f "/config/.env.sh" ] && . "/config/.env.sh"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Actions based on env # Actions based on env
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Change to working dir
[ -n "$WORKDIR" ] && __cd "$WORKDIR"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# begin main app # begin main app
case "$1" in case "$1" in
@ -142,6 +211,11 @@ healthcheck)
exit $? exit $?
;; ;;
backup)
shift 1
__run_backup "${1:-$BACKUP_DIR}"
;;
certbot) certbot)
shift 1 shift 1
SSL_CERT_BOT="true" SSL_CERT_BOT="true"
@ -157,12 +231,7 @@ certbot)
;; ;;
*) *)
if __pgrep "$SERVICE_NAME" && [ ! -f "/tmp/$SERVICE_NAME.pid" ]; then __exec_pre_start && __exec_service_start
echo "$SERVICE_NAME is running"
else
touch "/tmp/$SERVICE_NAME.pid"
__exec_command "$SERVICE_COMMAND" || rm -Rf "/tmp/$SERVICE_NAME.pid"
fi
;; ;;
esac esac
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -175,3 +244,4 @@ exitCode="${exitCode:-$?}"
exit ${exitCode:-$?} exit ${exitCode:-$?}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# end # end
# ex: ts=2 sw=2 et filetype=sh

View File

@ -1,164 +0,0 @@
#!/usr/bin/env bash
# shellcheck shell=bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202210191713-git
# @@Author : Jason Hempstead
# @@Contact : jason@casjaysdev.com
# @@License : LICENSE.md
# @@ReadME : start-nginx.sh --help
# @@Copyright : Copyright: (c) 2022 Jason Hempstead, Casjays Developments
# @@Created : Wednesday, Oct 19, 2022 17:13 EDT
# @@File : start-nginx.sh
# @@Description : script to start nginx
# @@Changelog : New script
# @@TODO : Better documentation
# @@Other :
# @@Resource :
# @@Terminal App : no
# @@sudo/root : no
# @@Template : other/start-service
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set functions
__pcheck() { [ -n "$(which pgrep 2>/dev/null)" ] && pgrep -x "$1" || return 1; }
__find() { find "$1" -mindepth 1 -type ${2:-f,d} 2>/dev/null | grep '^' || return 10; }
__curl() { curl -q -LSsf -o /dev/null -s -w "200" "$@" 2>/dev/null || return 10; }
__pgrep() { __pcheck "$1" || ps aux 2>/dev/null | grep -Fw " $1" | grep -qv ' grep' || return 10; }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__certbot() {
[ -n "$DOMANNAME" ] && [ -n "$CERT_BOT_MAIL" ] || { echo "The variables DOMANNAME and CERT_BOT_MAIL are set" && exit 1; }
[ "$SSL_CERT_BOT" = "true" ] && type -P certbot &>/dev/null || { export SSL_CERT_BOT="" && return 10; }
certbot $1 --agree-tos -m $CERT_BOT_MAIL certonly --webroot -w "${WWW_ROOT_DIR:-/data/htdocs/www}" -d $DOMAINNAME -d $DOMAINNAME \
--put-all-related-files-into "$SSL_DIR" -key-path "$SSL_KEY" -fullchain-path "$SSL_CERT"
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
__heath_check() {
status=0 health="Good"
__pgrep ${1:-} || status=$((status + 1))
__curl "http://localhost:$nginxRPCPORT" || status=$((status + 1))
[ "$status" -eq 0 ] || health="Errors reported see docker logs --follow $CONTAINER_NAME"
echo "$(uname -s) $(uname -m) is running and the health is: $health"
return ${status:-$?}
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set variables
DISPLAY="${DISPLAY:-}"
LANG="${LANG:-C.UTF-8}"
DOMAINNAME="${DOMAINNAME:-}"
TZ="${TZ:-America/New_York}"
HTTP_PORT="${HTTP_PORT:-80}"
HTTPS_PORT="${HTTPS_PORT:-}"
SERVICE_PORT="${SERVICE_PORT:-$HTTP_PORT}"
SERVICE_NAME="${CONTAINER_NAME:-}"
HOSTNAME="${HOSTNAME:-casjaysdev-nginx}"
HOSTADMIN="${HOSTADMIN:-root@${DOMAINNAME:-$HOSTNAME}}"
SSL_CERT_BOT="${SSL_CERT_BOT:-false}"
SSL_ENABLED="${SSL_ENABLED:-false}"
SSL_DIR="${SSL_DIR:-/config/ssl}"
SSL_CA="${SSL_CA:-$SSL_DIR/ca.crt}"
SSL_KEY="${SSL_KEY:-$SSL_DIR/server.key}"
SSL_CERT="${SSL_CERT:-$SSL_DIR/server.crt}"
SSL_CONTAINER_DIR="${SSL_CONTAINER_DIR:-/etc/ssl/CA}"
WWW_ROOT_DIR="${WWW_ROOT_DIR:-/data/htdocs}"
LOCAL_BIN_DIR="${LOCAL_BIN_DIR:-/usr/local/bin}"
DATA_DIR_INITIALIZED="${DATA_DIR_INITIALIZED:-}"
CONFIG_DIR_INITIALIZED="${CONFIG_DIR_INITIALIZED:-}"
DEFAULT_DATA_DIR="${DEFAULT_DATA_DIR:-/usr/local/share/template-files/data}"
DEFAULT_CONF_DIR="${DEFAULT_CONF_DIR:-/usr/local/share/template-files/config}"
DEFAULT_TEMPLATE_DIR="${DEFAULT_TEMPLATE_DIR:-/usr/local/share/template-files/defaults}"
CONTAINER_IP_ADDRESS="$(ip a 2>/dev/null | grep 'inet' | grep -v '127.0.0.1' | awk '{print $2}' | sed 's|/*||g')"
[ -n "$HTTP_PORT" ] || [ -n "$HTTPS_PORT" ] || HTTP_PORT="$SERVICE_PORT"
[ "$HTTPS_PORT" = "443" ] && HTTP_PORT="$HTTPS_PORT" && SSL_ENABLED="true"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Overwrite variables
SERVICE_PORT="${ARIA2RPCPORT:-6800}"
SERVICE_NAME="nginx"
SERVICE_COMMAND="nginx -c /etc/nginx/nginx.conf"
export exec_message="Starting $SERVICE_NAME on $CONTAINER_IP_ADDRESS:$SERVICE_PORT"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Pre copy commands
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Check if this is a new container
[ -z "$DATA_DIR_INITIALIZED" ] && [ -f "/data/.docker_has_run" ] && DATA_DIR_INITIALIZED="true"
[ -z "$CONFIG_DIR_INITIALIZED" ] && [ -f "/config/.docker_has_run" ] && CONFIG_DIR_INITIALIZED="true"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Create default config
if [ "$CONFIG_DIR_INITIALIZED" = "false" ] && [ -n "$DEFAULT_TEMPLATE_DIR" ]; then
[ -d "/config" ] && cp -Rf "$DEFAULT_TEMPLATE_DIR/." "/config/" 2>/dev/null
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Copy custom config files
if [ "$CONFIG_DIR_INITIALIZED" = "false" ] && [ -n "$DEFAULT_CONF_DIR" ]; then
[ -d "/config" ] && cp -Rf "$DEFAULT_CONF_DIR/." "/config/" 2>/dev/null
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Copy custom data files
if [ "$DATA_DIR_INITIALIZED" = "false" ] && [ -n "$DEFAULT_DATA_DIR" ]; then
[ -d "/data" ] && cp -Rf "$DEFAULT_DATA_DIR/." "/data/" 2>/dev/null
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Copy html files
if [ "$DATA_DIR_INITIALIZED" = "false" ] && [ -d "$DEFAULT_DATA_DIR/data/htdocs" ]; then
[ -d "/data" ] && cp -Rf "$DEFAULT_DATA_DIR/data/htdocs/." "$WWW_ROOT_DIR/" 2>/dev/null
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Post copy commands
# allow Changing of port [unsupported]
if [ -n "$SERVICE_PORT" ] && [ "$SERVICE_PORT" != "6800" ]; then
echo "Changing rpc request port to $SERVICE_PORT"
sed -i "s|listen .*|listen ${SERVICE_PORT}|g" "/config/nginx/nginx.conf"
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Initialized
[ -d "/data" ] && touch "/data/.docker_has_run"
[ -d "/config" ] && touch "/config/.docker_has_run"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# APP Variables overrides
[ -f "/root/env.sh" ] && . "/root/env.sh"
[ -f "/config/env.sh" ] && "/config/env.sh"
[ -f "/config/.env.sh" ] && . "/config/.env.sh"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Actions based on env
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# begin main app
case "$1" in
healthcheck)
shift 1
__heath_check "${SERVICE_NAME:-bash}"
exit $?
;;
certbot)
shift 1
SSL_CERT_BOT="true"
if [ "$1" = "create" ]; then
shift 1
__certbot
elif [ "$1" = "renew" ]; then
shift 1
__certbot "renew certonly --force-renew"
else
__exec_command "certbot" "$@"
fi
;;
*)
if __pgrep "$SERVICE_NAME" && [ ! -f "/tmp/$SERVICE_NAME.pid" ]; then
echo "$SERVICE_NAME is running"
else
touch "/tmp/$SERVICE_NAME.pid"
__exec_command "$SERVICE_COMMAND" || rm -Rf "/tmp/$SERVICE_NAME.pid"
fi
;;
esac
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set exit code
exitCode="${exitCode:-$?}"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# End application
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# lets exit with code
exit ${exitCode:-$?}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# end

File diff suppressed because one or more lines are too long

View File

@ -1,35 +0,0 @@
# Default configuration for aria2
dir=/data/aria2
log=/proc/self/fd/2
input-file=/config/aria2/aria2.session
save-session=/config/aria2/aria2.session
enable-rpc=true
rpc-listen-port=8080
rpc-allow-origin-all=true
rpc-listen-all=true
disable-ipv6=true
max-concurrent-downloads=5
continue=true
max-connection-per-server=5
min-split-size=10M
split=10
enable-http-pipelining=true
max-overall-download-limit=0
max-download-limit=0
max-overall-upload-limit=0
max-upload-limit=0
file-allocation=prealloc
console-log-level=error
save-session-interval=10
max-upload-limit=0
follow-torrent=true
listen-port=51413
user-agent=Transmission/2.77
seed-ratio=0
bt-seed-unverified=false
bt-save-metadata=true
bt-tracker=udp://62.138.0.158:6969/announce,udp://188.241.58.209:6969/announce,udp://151.80.120.112:2710/announce,udp://151.80.120.114:2710/announce,udp://93.158.213.92:1337/announce,udp://185.19.107.254:80/announce,udp://185.225.17.100:1337/announce,udp://208.83.20.20:6969/announce,udp://5.206.19.247:6969/announce,udp://37.235.174.46:2710/announce,udp://142.44.243.4:1337/announce,udp://195.154.52.99:80/announce,udp://54.37.235.149:6969/announce,udp://212.1.226.176:2710/announce,udp://89.234.156.205:451/announce,udp://159.100.245.181:6969/announce,udp://45.56.74.11:6969/announce,udp://51.15.226.113:6969/announce,udp://176.113.71.19:6961/announce,udp://51.15.40.114:80/announce
on-download-error=/config/aria2/scripts/post-hook.sh
on-download-complete=/config/aria2/scripts/post-hook.sh

View File

@ -1,22 +0,0 @@
#!/usr/bin/env bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
##@Version : 202210191942-git
# @@Author : Jason Hempstead
# @@Contact : git-admin@casjaysdev.com
# @@License : LICENSE.md
# @@ReadME : post-hook.sh --help
# @@Copyright : Copyright: (c) 2022 Jason Hempstead, Casjays Developments
# @@Created : Wednesday, Oct 19, 2022 19:42 EDT
# @@File : post-hook.sh
# @@Description : post script
# @@Changelog : newScript
# @@TODO : Refactor code
# @@Other :
# @@Resource : https://aria2.github.io/manual/en/html/aria2c.html#event-hook
# @@Terminal App : no
# @@sudo/root : no
# @@Template : bash/system
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
set -eu
echo "[INFO] $(date -u +'%Y-%m-%dT%H:%M:%SZ') Aria2 hook triggered with parameters: GID [$1], Files Count: [$2], Files Path: [$3]"

View File

@ -1,99 +0,0 @@
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/avif avif;
image/png png;
image/svg+xml svg svgz;
image/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
image/webp webp;
image/x-icon ico;
image/x-jng jng;
image/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
application/java-archive jar war ear;
application/json json;
application/mac-binhex40 hqx;
application/msword doc;
application/pdf pdf;
application/postscript ps eps ai;
application/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
application/vnd.wap.wmlc wmlc;
application/wasm wasm;
application/x-7z-compressed 7z;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/xhtml+xml xhtml;
application/xspf+xml xspf;
application/zip zip;
application/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/x-realaudio ra;
video/3gpp 3gpp 3gp;
video/mp2t ts;
video/mp4 mp4;
video/mpeg mpeg mpg;
video/quicktime mov;
video/webm webm;
video/x-flv flv;
video/x-m4v m4v;
video/x-mng mng;
video/x-ms-asf asx asf;
video/x-ms-wmv wmv;
video/x-msvideo avi;
}

View File

@ -1,82 +0,0 @@
# Default nginx configuration
user root;
worker_processes 1;
daemon off;
error_log /proc/self/fd/2 error;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
gzip on;
map $http_upgrade $connection_upgrade { default upgrade; '' close; }
server {
listen 6800;
root /var/www/ariang;
index index.html;
proxy_intercept_errors off;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *; frame-src 'self' *; object-src 'self'" always;
location /jsonrpc {
proxy_pass http://127.0.0.1:8080/jsonrpc;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
location /rpc {
proxy_pass http://127.0.0.1:8080/jsonrpc;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location /nginx_status {
stub_status;
}
location /health {
default_type text/html;
allow all;
access_log off;
return 200 'OK';
}
location /health.json {
default_type application/json;
allow all;
access_log off;
return 200 '{"status":"OK"}';
}
}
}