mirror of
https://github.com/casjaysdevdocker/couchdb
synced 2025-09-18 03:57:46 -04:00
🦈🏠🐜❗ Initial Commit ❗🐜🦈🏠
This commit is contained in:
158
rootfs/usr/local/share/template-files/config/couchdb/default.ini
Normal file
158
rootfs/usr/local/share/template-files/config/couchdb/default.ini
Normal file
@@ -0,0 +1,158 @@
|
||||
; Upgrading CouchDB will overwrite this file.
|
||||
[vendor]
|
||||
name = CasjaysDev
|
||||
|
||||
[couchdb]
|
||||
;uuid =
|
||||
database_dir = REPLACE_DATABASE_DIR
|
||||
view_index_dir = REPLACE_DATABASE_DIR
|
||||
|
||||
[couchdb_engines]
|
||||
couch = couch_bt_engine
|
||||
|
||||
[chttpd]
|
||||
port = 5984
|
||||
bind_address = any
|
||||
require_valid_user = false
|
||||
prefer_minimal = Cache-Control, Content-Length, Content-Range, Content-Type, ETag, Server, Transfer-Encoding, Vary
|
||||
admin_only_all_dbs = true
|
||||
allow_jsonp = true
|
||||
enable_cors = true
|
||||
enable_xframe_options = false
|
||||
max_uri_length = 8000
|
||||
x_forwarded_host = X-Forwarded-Host
|
||||
x_forwarded_proto = X-Forwarded-Proto
|
||||
x_forwarded_ssl = X-Forwarded-Ssl
|
||||
max_http_request_size = 4294967296
|
||||
decode_plus_to_space = true
|
||||
|
||||
[couch_peruser]
|
||||
enable = true
|
||||
delete_dbs = true
|
||||
database_prefix = userdb_
|
||||
|
||||
[httpd]
|
||||
port = 5986
|
||||
bind_address = any
|
||||
enable_cors = true
|
||||
|
||||
[chttpd_auth]
|
||||
authentication_db = _users
|
||||
authentication_redirect = /_utils/session.html
|
||||
require_valid_user = false
|
||||
timeout = 600
|
||||
auth_cache_size = 50
|
||||
allow_persistent_cookies = true
|
||||
iterations = 10
|
||||
|
||||
[couch_httpd_auth]
|
||||
authentication_db = _users
|
||||
|
||||
[ssl]
|
||||
enable = false
|
||||
verify_ssl_certificates = false
|
||||
cert_file = /config/ssl/localhost.crt
|
||||
key_file = /config/ssl/localhost.key
|
||||
|
||||
[csp]
|
||||
utils_enable = true
|
||||
utils_header_value = default-src 'self'; img-src 'self'; font-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';
|
||||
attachments_enable = true
|
||||
attachments_header_value = sandbox
|
||||
showlist_enable = true
|
||||
showlist_header_value = sandbox
|
||||
|
||||
[cors]
|
||||
origins = *
|
||||
credentials = true
|
||||
methods = GET, PUT, POST, HEAD, DELETE, PATCH
|
||||
headers = accept, authorization, content-type, origin, referer
|
||||
|
||||
[x_frame_options]
|
||||
hosts = *
|
||||
same_origin = true
|
||||
|
||||
[native_query_servers]
|
||||
enable_erlang_query_server = false
|
||||
|
||||
[query_server_config]
|
||||
reduce_limit = true
|
||||
os_process_limit = 100
|
||||
group_info_timeout = 5000
|
||||
query_limit = 268435456
|
||||
partition_query_limit = 268435456
|
||||
|
||||
[mango]
|
||||
default_limit = 25
|
||||
index_all_disabled = false
|
||||
index_scan_warning_threshold = 10
|
||||
|
||||
[indexers]
|
||||
couch_mrview = true
|
||||
|
||||
[feature_flags]
|
||||
partitioned||* = true
|
||||
|
||||
[uuids]
|
||||
algorithm = sequential
|
||||
utc_id_suffix =
|
||||
max_count = 1000
|
||||
|
||||
[attachments]
|
||||
compression_level = 8
|
||||
compressible_types = text/*, application/javascript, application/json, application/xml
|
||||
|
||||
[replicator]
|
||||
startup_jitter = 5000
|
||||
|
||||
[replicator.shares]
|
||||
_replicator = 100
|
||||
|
||||
[log]
|
||||
writer = stderr
|
||||
level = error
|
||||
|
||||
[stats]
|
||||
interval = 10
|
||||
|
||||
[smoosh]
|
||||
db_channels = upgrade_dbs,ratio_dbs,slack_dbs
|
||||
view_channels = upgrade_views,ratio_views,slack_views
|
||||
|
||||
[ioq]
|
||||
concurrency = 10
|
||||
ratio = 0.01
|
||||
|
||||
[ioq.bypass]
|
||||
os_process = true
|
||||
read = true
|
||||
write = true
|
||||
view_update = true
|
||||
shard_sync = false
|
||||
compaction = false
|
||||
|
||||
[dreyfus]
|
||||
name = clouseau@127.0.0.1
|
||||
retry_limit = 5
|
||||
limit = 25
|
||||
limit_partitions = 2000
|
||||
max_limit = 200
|
||||
max_limit_partitions = 2000
|
||||
|
||||
[reshard]
|
||||
max_jobs = 48
|
||||
max_history = 20
|
||||
max_retries = 1
|
||||
retry_interval_sec = 10
|
||||
delete_source = true
|
||||
update_shard_map_timeout_sec = 60
|
||||
source_close_timeout_sec = 600
|
||||
require_node_param = false
|
||||
require_range_param = false
|
||||
|
||||
[prometheus]
|
||||
bind_address = any
|
||||
port = 17986
|
||||
|
||||
[cluster]
|
||||
n = 1
|
@@ -0,0 +1,9 @@
|
||||
[couchdb]
|
||||
single_node=true
|
||||
|
||||
[log]
|
||||
writer = file
|
||||
file = /data/logs/couchdb/couch.log
|
||||
|
||||
[admins]
|
||||
REPLACE_ROOT_ADMIN=REPLACE_ROOT_PASS
|
135
rootfs/usr/local/share/template-files/config/env/default.sample
vendored
Normal file
135
rootfs/usr/local/share/template-files/config/env/default.sample
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
#!/usr/bin/env bash
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Set bash options
|
||||
[ "$DEBUGGER" = "on" ] && echo "Enabling debugging" && set -o pipefail -x$DEBUGGER_OPTIONS || set -o pipefail
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# import the functions file
|
||||
if [ -f "/usr/local/etc/docker/functions/entrypoint.sh" ]; then
|
||||
. "/usr/local/etc/docker/functions/entrypoint.sh"
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# GLOBAL enviroment variables
|
||||
USER="${USER:-root}"
|
||||
LANG="${LANG:-C.UTF-8}"
|
||||
TZ="${TZ:-America/New_York}"
|
||||
SERVICE_USER="${SERVICE_USER:-root}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# directory settings
|
||||
BACKUP_DIR="${BACKUP_DIR:-/data/backups}"
|
||||
WWW_ROOT_DIR="${WWW_ROOT_DIR:-/usr/share/webapps/couchdb}"
|
||||
LOCAL_BIN_DIR="${LOCAL_BIN_DIR:-/usr/local/bin}"
|
||||
DATABASE_BASE_DIR="${DATABASE_BASE_DIR:-/data/db}"
|
||||
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}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# healthcheck
|
||||
HEALTH_ENABLED="${HEALTH_ENABLED:-}"
|
||||
HEALTH_URL="${HEALTH_URL:-}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# php settings
|
||||
PHP_VERSION="${PHP_VERSION//php/}"
|
||||
PHP_INI_DIR="${PHP_INI_DIR:-$(__find_php_ini)}"
|
||||
PHP_BIN_DIR="${PHP_BIN_DIR:-$(__find_php_bin)}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# services/ports
|
||||
ENV_PORTS="${ENV_PORTS:-}"
|
||||
SERVICE_PORT="${SERVICE_PORT:-$PORT}"
|
||||
WEB_SERVER_PORTS="${WEB_SERVER_PORTS:-}"
|
||||
SERVICES_LIST="${PROCS_LIST:-$SERVICES_LIST} "
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# networing info
|
||||
HOSTNAME="${HOSTNAME:-casjaysdev-GEN_SCRIPT_REPLACE_APPNAME}"
|
||||
DOMAINNAME="${DOMAINNAME:-}"
|
||||
FULL_DOMAIN_NAME="${FULL_DOMAIN_NAME:-${DOMAINNAME:-$HOSTNAME}}"
|
||||
SERVER_ADMIN="${SERVER_ADMIN:-root@${EMAIL_DOMAIN:-$DOMAINNAME}}"
|
||||
EMAIL_RELAY="${EMAIL_RELAY:-}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# get ip addresses
|
||||
CONTAINER_IP4_ADDRESS="${CONTAINER_IP4_ADDRESS:-$(__get_ip4)}"
|
||||
CONTAINER_IP6_ADDRESS="${CONTAINER_IP6_ADDRESS:-$(__get_ip6)}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# cerbot
|
||||
CERT_BOT_MAIL="${CERT_BOT_MAIL:-}"
|
||||
CERTBOT_DOMAINS="${CERTBOT_DOMAINS:-}"
|
||||
CERT_BOT_ENABLED="${CERT_BOT_ENABLED:-false}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# ssl server settings
|
||||
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}"
|
||||
COUNTRY="${COUNTRY:-US}"
|
||||
STATE="${STATE:-NY}"
|
||||
CITY="${CITY:-Albany}"
|
||||
UNIT="${UNIT:-CasjaysDev}"
|
||||
ORG="${ORG:-"Casjays Developments"}"
|
||||
DAYS_VALID="${DAYS_VALID:-3650}"
|
||||
RSA="${RSA:-4096}"
|
||||
CN="${CN:-$FULL_DOMAIN_NAME}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# web server configs
|
||||
HTTPD_CONFIG_FILE="${HTTPD_CONFIG_FILE:-$(__find_httpd_conf)}"
|
||||
NGINX_CONFIG_FILE="${NGINX_CONFIG_FILE:-$(__find_nginx_conf)}"
|
||||
LIGHTTPD_CONFIG_FILE="${LIGHTTPD_CONFIG_FILE:-$(__find_lighttpd_conf)}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# redis env
|
||||
DATABASE_DIR_REDIS="${DATABASE_DIR_REDIS:-$DATABASE_BASE_DIR/redis}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# postgresql env
|
||||
DATABASE_DIR_PGSQL="${DATABASE_DIR_PGSQL:-$PGDATA}"
|
||||
PGDATA="${DATABASE_DIR_PGSQL:-$DATABASE_BASE_DIR/pgsql}"
|
||||
POSTGRES_USER="${DATABASE_USER_ROOT:-$POSTGRES_USER}"
|
||||
POSTGRES_PASSWORD="${DATABASE_PASS_ROOT:-$POSTGRES_PASSWORD}"
|
||||
POSTGRES_CONFIG_FILE="${POSTGRES_CONFIG_FILE:-$(__find_pgsql_conf)}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# mariadb env
|
||||
MARIADB_ROOT_HOST="${MARIADB_ROOT_HOST:-%}"
|
||||
MARIADB_AUTO_UPGRADE="${MARIADB_AUTO_UPGRADE:-yes}"
|
||||
MARIADB_DATABASE="${DATABASE_CREATE:-$MARIADB_DATABASE}"
|
||||
MARIADB_USER="${DATABASE_USER_NORMAL:-$MARIADB_USER}"
|
||||
MARIADB_PASSWORD="${DATABASE_PASS_NORMAL:-$MARIADB_PASSWORD}"
|
||||
DATABASE_DIR_MARIADB="${DATABASE_DIR_MARIADB:-$DATABASE_BASE_DIR/mysql}"
|
||||
MARIADB_ROOT_PASSWORD="${DATABASE_PASS_ROOT:-$MARIADB_ROOT_PASSWORD}"
|
||||
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD="${MARIADB_ALLOW_EMPTY_ROOT_PASSWORD:-}"
|
||||
MARIADB_INITDB_SKIP_TZINFO="${MARIADB_INITDB_SKIP_TZINFO}:-"
|
||||
MARIADB_RANDOM_ROOT_PASSWORD="${MARIADB_RANDOM_ROOT_PASSWORD:-}"
|
||||
MARIADB_CONFIG_FILE="${MARIADB_CONFIG_FILE:-$(__find_mysql_conf)}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# mongodb env
|
||||
NITDB_ROOT_USERNAME="${DATABASE_USER_ROOT:-$NITDB_ROOT_USERNAME}"
|
||||
DATABASE_DIR_MONGODB="${DATABASE_DIR_MONGODB:-$DATABASE_BASE_DIR/mongodb}"
|
||||
MONGO_INITDB_ROOT_PASSWORD="${DATABASE_PASS_ROOT:-$MONGO_INITDB_ROOT_PASSWORD}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# couchdb env
|
||||
NODENAME="${NODENAME:-}"
|
||||
COUCHDB_USER="${DATABASE_USER_ROOT:-$COUCHDB_USER}"
|
||||
COUCHDB_PASSWORD="${DATABASE_PASS_ROOT:-$COUCHDB_PASSWORD}"
|
||||
DATABASE_DIR_COUCHDB="${DATABASE_DIR_COUCHDB:-$DATABASE_BASE_DIR/couchdb}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Supabase
|
||||
DATABASE_DIR_SUPABASE="${DATABASE_DIR_SUPABASE:-$DATABASE_BASE_DIR/supabase}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# docker env
|
||||
DOCKER_HOST="unix://var/run/docker.sock"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# File locations
|
||||
ENTRYPOINT_PID_FILE="${ENTRYPOINT_PID_FILE:-/run/init.d/entrypoint.pid}"
|
||||
ENTRYPOINT_INIT_FILE="${ENTRYPOINT_INIT_FILE:-/config/.entrypoint.done}"
|
||||
ENTRYPOINT_DATA_INIT_FILE="${ENTRYPOINT_DATA_INIT_FILE:-/data/.docker_has_run}"
|
||||
ENTRYPOINT_CONFIG_INIT_FILE="${ENTRYPOINT_CONFIG_INIT_FILE:-/config/.docker_has_run}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Startup variables
|
||||
INIT_DATE="${INIT_DATE:-$(date)}"
|
||||
START_SERVICES="${START_SERVICES:-yes}"
|
||||
ENTRYPOINT_MESSAGE="${ENTRYPOINT_MESSAGE:-yes}"
|
||||
ENTRYPOINT_FIRST_RUN="${ENTRYPOINT_FIRST_RUN:-yes}"
|
||||
DATA_DIR_INITIALIZED="${DATA_DIR_INITIALIZED:-false}"
|
||||
CONFIG_DIR_INITIALIZED="${CONFIG_DIR_INITIALIZED:-false}"
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
if [ -f "$ENTRYPOINT_PID_FILE" ] || [ -f "$ENTRYPOINT_INIT_FILE" ];
|
||||
then START_SERVICES="no" ENTRYPOINT_MESSAGE="no" ENTRYPOINT_FIRST_RUN="no"
|
||||
fi
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
@@ -0,0 +1,99 @@
|
||||
|
||||
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;
|
||||
}
|
150
rootfs/usr/local/share/template-files/config/nginx/nginx.conf
Normal file
150
rootfs/usr/local/share/template-files/config/nginx/nginx.conf
Normal file
@@ -0,0 +1,150 @@
|
||||
# Default nginx configuration
|
||||
user root;
|
||||
worker_processes auto;
|
||||
daemon off;
|
||||
error_log /data/logs/nginx/nginx.log warn;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type "text/html";
|
||||
access_log /data/logs/nginx/access.REPLACE_SERVER_NAME.log;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
gzip on;
|
||||
map $http_upgrade $connection_upgrade { default upgrade; '' close; }
|
||||
disable_symlinks off;
|
||||
root REPLACE_SERVER_WWW_DIR;
|
||||
|
||||
server {
|
||||
listen REPLACE_SERVER_PORT;
|
||||
server_name REPLACE_SERVER_NAME;
|
||||
root REPLACE_SERVER_WWW_DIR;
|
||||
index index.php index.html index.cgi index.pl index.aspx index.txt index.json index.unknown.php index.default.php;
|
||||
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;
|
||||
proxy_intercept_errors off;
|
||||
|
||||
location / {
|
||||
proxy_pass http://REPLACE_PROXY_ADDRESS;
|
||||
proxy_redirect off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location ~ ^/(.*)/_changes {
|
||||
proxy_pass http://REPLACE_PROXY_ADDRESS;
|
||||
proxy_redirect off;
|
||||
proxy_buffering off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location = /favicon.ico {
|
||||
alias /usr/local/share/wwwroot/favicon.ico;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
alias /usr/local/share/wwwroot/robots.txt;
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location ^~ /.well-known {
|
||||
default_type "text/plain";
|
||||
root /usr/local/share/wwwroot/.well-known;
|
||||
}
|
||||
|
||||
location ^~ /health {
|
||||
default_type "text/plain";
|
||||
allow all;
|
||||
access_log off;
|
||||
root /usr/local/share/wwwroot/health;
|
||||
}
|
||||
|
||||
location ^~ /health/txt {
|
||||
default_type application/json;
|
||||
allow all;
|
||||
access_log off;
|
||||
return 200 'ok';
|
||||
}
|
||||
|
||||
location ^~ /health/json {
|
||||
default_type application/json;
|
||||
allow all;
|
||||
access_log off;
|
||||
return 200 '{"status":"OK"}';
|
||||
}
|
||||
|
||||
location ^~ /health/status {
|
||||
stub_status;
|
||||
}
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
if (!-f $document_root$fastcgi_script_name) {
|
||||
return 404;
|
||||
}
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param QUERY_STRING $query_string;
|
||||
fastcgi_param REQUEST_METHOD $request_method;
|
||||
fastcgi_param CONTENT_TYPE $content_type;
|
||||
fastcgi_param CONTENT_LENGTH $content_length;
|
||||
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param REQUEST_URI $request_uri;
|
||||
fastcgi_param DOCUMENT_URI $document_uri;
|
||||
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
fastcgi_param REQUEST_SCHEME $scheme;
|
||||
fastcgi_param HTTPS $https if_not_empty;
|
||||
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
||||
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
fastcgi_param REMOTE_PORT $remote_port;
|
||||
fastcgi_param SERVER_ADDR $server_addr;
|
||||
fastcgi_param SERVER_PORT $server_port;
|
||||
fastcgi_param SERVER_NAME $server_name;
|
||||
# PHP only, required if PHP was built with --enable-force-cgi-redirect
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
|
||||
}
|
||||
# location /cgi-bin {
|
||||
# root /usr/local/share/wwwroot/cgi-bin;
|
||||
# gzip off;
|
||||
# fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
# fastcgi_param HTTP_PROXY "";
|
||||
# fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
# fastcgi_param SERVER_SOFTWARE nginx;
|
||||
# fastcgi_param QUERY_STRING $query_string;
|
||||
# fastcgi_param REQUEST_METHOD $request_method;
|
||||
# fastcgi_param CONTENT_TYPE $content_type;
|
||||
# fastcgi_param CONTENT_LENGTH $content_length;
|
||||
# fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
# fastcgi_param REQUEST_URI $request_uri;
|
||||
# fastcgi_param DOCUMENT_URI $document_uri;
|
||||
# fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
# fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
# fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
# fastcgi_param REMOTE_PORT $remote_port;
|
||||
# fastcgi_param SERVER_ADDR $server_addr;
|
||||
# fastcgi_param SERVER_PORT $server_port;
|
||||
# fastcgi_param SERVER_NAME $server_name;
|
||||
# }
|
||||
}
|
||||
include /etc/nginx/vhosts.d/*.conf;
|
||||
}
|
@@ -0,0 +1,131 @@
|
||||
# Default nginx configuration
|
||||
user root;
|
||||
worker_processes auto;
|
||||
daemon off;
|
||||
error_log /data/logs/nginx/nginx.log warn;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type "text/html";
|
||||
access_log /data/logs/nginx/access.default.log;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
gzip on;
|
||||
map $http_upgrade $connection_upgrade { default upgrade; '' close; }
|
||||
disable_symlinks off;
|
||||
root REPLACE_SERVER_WWW_DIR;
|
||||
|
||||
server {
|
||||
listen REPLACE_SERVER_PORT;
|
||||
server_name REPLACE_SERVER_NAME;
|
||||
root REPLACE_SERVER_WWW_DIR;
|
||||
index index.php index.cgi index.pl index.aspx index.txt index.json index.html index.unknown.php index.default.php;
|
||||
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;
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||
ssl_prefer_server_ciphers off;
|
||||
ssl_certificate /etc/ssl/localhost.crt;
|
||||
ssl_certificate_key /etc/ssl/localhost.key;
|
||||
proxy_intercept_errors off;
|
||||
|
||||
location ^~ /.well-known {
|
||||
default_type "text/plain";
|
||||
root REPLACE_SERVER_WWW_DIR/.well-known;
|
||||
}
|
||||
|
||||
location ^~ = /favicon.ico {
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location ^~ = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
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"}';
|
||||
}
|
||||
|
||||
location ^~ /health/status {
|
||||
stub_status;
|
||||
}
|
||||
|
||||
location ~ [^/]\.php(/|$) {
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
if (!-f $document_root$fastcgi_script_name) {
|
||||
return 404;
|
||||
}
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param QUERY_STRING $query_string;
|
||||
fastcgi_param REQUEST_METHOD $request_method;
|
||||
fastcgi_param CONTENT_TYPE $content_type;
|
||||
fastcgi_param CONTENT_LENGTH $content_length;
|
||||
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param REQUEST_URI $request_uri;
|
||||
fastcgi_param DOCUMENT_URI $document_uri;
|
||||
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
fastcgi_param REQUEST_SCHEME $scheme;
|
||||
fastcgi_param HTTPS $https if_not_empty;
|
||||
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
||||
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
fastcgi_param REMOTE_PORT $remote_port;
|
||||
fastcgi_param SERVER_ADDR $server_addr;
|
||||
fastcgi_param SERVER_PORT $server_port;
|
||||
fastcgi_param SERVER_NAME $server_name;
|
||||
# PHP only, required if PHP was built with --enable-force-cgi-redirect
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
|
||||
}
|
||||
# location /cgi-bin {
|
||||
# root /usr/local/share/wwwroot/cgi-bin;
|
||||
# gzip off;
|
||||
# fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
# fastcgi_param HTTP_PROXY "";
|
||||
# fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
# fastcgi_param SERVER_SOFTWARE nginx;
|
||||
# fastcgi_param QUERY_STRING $query_string;
|
||||
# fastcgi_param REQUEST_METHOD $request_method;
|
||||
# fastcgi_param CONTENT_TYPE $content_type;
|
||||
# fastcgi_param CONTENT_LENGTH $content_length;
|
||||
# fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
# fastcgi_param REQUEST_URI $request_uri;
|
||||
# fastcgi_param DOCUMENT_URI $document_uri;
|
||||
# fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
# fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
# fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
# fastcgi_param REMOTE_PORT $remote_port;
|
||||
# fastcgi_param SERVER_ADDR $server_addr;
|
||||
# fastcgi_param SERVER_PORT $server_port;
|
||||
# fastcgi_param SERVER_NAME $server_name;
|
||||
# }
|
||||
}
|
||||
include /etc/nginx/vhosts.d/*.conf;
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
server {
|
||||
listen REPLACE_SERVER_PORT;
|
||||
server_name REPLACE_SERVER_NAME;
|
||||
root REPLACE_SERVER_WWW_DIR;
|
||||
index index.php index.cgi index.pl index.aspx index.txt index.json index.html index.unknown.php index.default.php;
|
||||
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;
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
server {
|
||||
listen ssl http2 REPLACE_SERVER_PORT;
|
||||
server_name REPLACE_SERVER_NAME;
|
||||
root REPLACE_SERVER_WWW_DIR;
|
||||
index index.php index.cgi index.pl index.aspx awstats.pl index.txt index.json index.html index.unknown.php index.default.php;
|
||||
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;
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||
ssl_prefer_server_ciphers off;
|
||||
ssl_certificate /etc/ssl/localhost.crt;
|
||||
ssl_certificate_key /etc/ssl/localhost.key;
|
||||
}
|
Reference in New Issue
Block a user