first commit
This commit is contained in:
0
home/certbot/.gitkeep
Normal file
0
home/certbot/.gitkeep
Normal file
0
home/certbot/conf/.gitkeep
Normal file
0
home/certbot/conf/.gitkeep
Normal file
0
home/certbot/www/.gitkeep
Normal file
0
home/certbot/www/.gitkeep
Normal file
0
home/filebrowser/.gitkeep
Normal file
0
home/filebrowser/.gitkeep
Normal file
8
home/filebrowser/filebrowser.json
Normal file
8
home/filebrowser/filebrowser.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"port": 80,
|
||||
"baseURL": "/filebrowser",
|
||||
"address": "",
|
||||
"log": "stdout",
|
||||
"database": "/database.db",
|
||||
"root": "/srv"
|
||||
}
|
||||
0
home/filebrowser/srv/.gitkeep
Normal file
0
home/filebrowser/srv/.gitkeep
Normal file
0
home/foundry/.gitkeep
Normal file
0
home/foundry/.gitkeep
Normal file
0
home/foundry/container_cache/.gitkeep
Normal file
0
home/foundry/container_cache/.gitkeep
Normal file
0
home/html/certbot/.gitkeep
Normal file
0
home/html/certbot/.gitkeep
Normal file
2
home/html/test.php
Normal file
2
home/html/test.php
Normal file
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
phpinfo();
|
||||
97
home/nginx/conf.d/default.conf
Normal file
97
home/nginx/conf.d/default.conf
Normal file
@@ -0,0 +1,97 @@
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name localhost;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
#
|
||||
#location ~ /\.ht {
|
||||
# deny all;
|
||||
#}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 default_server ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
|
||||
server_name example.org;
|
||||
|
||||
ssl_certificate /etc/nginx/ssl/live/rpg.ascorrea.com/fullchain.pem;
|
||||
ssl_certificate_key /etc/nginx/ssl/live/rpg.ascorrea.com/privkey.pem;
|
||||
|
||||
location / {
|
||||
root /var/www/html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
# pass the PHP scripts to FastCGI server listening on php:9000
|
||||
#
|
||||
location ~ \.php$ {
|
||||
fastcgi_pass php:9000;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
|
||||
}
|
||||
|
||||
location /podcast/eps {
|
||||
root /var/www/html;
|
||||
autoindex on;
|
||||
}
|
||||
|
||||
location /foundry/ {
|
||||
|
||||
# Set proxy headers
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# These are important to support WebSockets
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
|
||||
# Make sure to set your Foundry VTT port number
|
||||
proxy_pass http://foundry:30000/foundry/;
|
||||
}
|
||||
location /filebrowser/ {
|
||||
client_max_body_size 2048m;
|
||||
proxy_read_timeout 86400s;
|
||||
proxy_send_timeout 86400s;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Server $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_http_version 1.1;
|
||||
proxy_redirect off;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_pass http://filebrowser:80/filebrowser/;
|
||||
}
|
||||
location /yacht/ {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_pass http://yacht:8000/;
|
||||
}
|
||||
}
|
||||
|
||||
32
home/nginx/nginx.conf
Normal file
32
home/nginx/nginx.conf
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
user nginx;
|
||||
worker_processes auto;
|
||||
|
||||
error_log /var/log/nginx/error.log notice;
|
||||
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;
|
||||
#tcp_nopush on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
}
|
||||
0
home/yacht/.gitkeep
Normal file
0
home/yacht/.gitkeep
Normal file
1
root/compose.sh
Normal file
1
root/compose.sh
Normal file
@@ -0,0 +1 @@
|
||||
docker compose -f ~/compose.yml up -d
|
||||
121
root/compose.yml
Normal file
121
root/compose.yml
Normal file
@@ -0,0 +1,121 @@
|
||||
version: "3"
|
||||
|
||||
secrets:
|
||||
config_json_foundry:
|
||||
file: foundry_secrets.json
|
||||
|
||||
services:
|
||||
nginx:
|
||||
container_name: nginx
|
||||
image: nginx
|
||||
hostname: nginx
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /home/html
|
||||
target: /var/www/html
|
||||
- type: bind
|
||||
source: /home/nginx/conf.d
|
||||
target: /etc/nginx/conf.d
|
||||
read_only: true
|
||||
- type: bind
|
||||
source: /home/nginx/nginx.conf
|
||||
target: /etc/nginx/nginx.conf
|
||||
- type: bind
|
||||
source: /home/certbot/www
|
||||
target: /var/www/certbot
|
||||
read_only: true
|
||||
- type: bind
|
||||
source: /home/certbot/conf
|
||||
target: /etc/nginx/ssl
|
||||
read_only: true
|
||||
environment:
|
||||
TZ: "America/Chicago"
|
||||
UID: 33
|
||||
GID: 33
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
networks:
|
||||
- internal
|
||||
certbot:
|
||||
container_name: certbot
|
||||
image: certbot/certbot:latest
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /home/certbot/www
|
||||
target: /var/www/certbot
|
||||
- type: bind
|
||||
source: /home/certbot/conf
|
||||
target: /etc/letsencrypt
|
||||
php:
|
||||
container_name: php
|
||||
image: php:7.0-fpm
|
||||
hostname: php
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /home/html
|
||||
target: /var/www/html
|
||||
environment:
|
||||
TZ: "America/Chicago"
|
||||
UID: 33
|
||||
GID: 33
|
||||
networks:
|
||||
- internal
|
||||
filebrowser:
|
||||
container_name: filebrowser
|
||||
image: filebrowser/filebrowser
|
||||
hostname: filebrowser
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /home/filebrowser/srv
|
||||
target: /srv
|
||||
- type: bind
|
||||
source: /home/filebrowser/database.db
|
||||
target: /database.db
|
||||
- type: bind
|
||||
source: /home/filebrowser/filebrowser.json
|
||||
target: /.filebrowser.json
|
||||
- type: bind
|
||||
source: /home/foundry/Data
|
||||
target: /home/foundry/Data
|
||||
environment:
|
||||
TZ: "America/Chicago"
|
||||
UID: 33
|
||||
GID: 33
|
||||
networks:
|
||||
- internal
|
||||
foundry:
|
||||
container_name: foundry
|
||||
image: felddy/foundryvtt:release
|
||||
hostname: foundry
|
||||
init: true
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /home/foundry
|
||||
target: /data
|
||||
environment:
|
||||
TZ: "America/Chicago"
|
||||
FOUNDRY_ROUTE_PREFIX: "foundry"
|
||||
FOUNDRY_UID: 33
|
||||
FOUNDRY_GID: 33
|
||||
secrets:
|
||||
- source: config_json_foundry
|
||||
target: config.json
|
||||
networks:
|
||||
- internal
|
||||
yacht:
|
||||
container_name: yacht
|
||||
image: selfhostedpro/yacht
|
||||
hostname: yacht
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/yacht:/config
|
||||
volumes:
|
||||
yacht:
|
||||
external: false
|
||||
driver: local
|
||||
networks:
|
||||
internal:
|
||||
driver: bridge
|
||||
14
root/install-docker.sh
Normal file
14
root/install-docker.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
# https://docs.docker.com/engine/install/debian/
|
||||
sudo apt-get update
|
||||
sudo apt-get install \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg \
|
||||
lsb-release
|
||||
mkdir -m 0755 -p /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
sudo apt-get update
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
1
root/nginx-reload.sh
Normal file
1
root/nginx-reload.sh
Normal file
@@ -0,0 +1 @@
|
||||
docker exec -it nginx service nginx reload
|
||||
2
root/obtain-certs.sh
Normal file
2
root/obtain-certs.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
# https://mindsers.blog/post/https-using-nginx-certbot-docker/
|
||||
docker compose -f ~/compose.yml run --rm certbot certonly --webroot --webroot-path /var/www/certbot -d rpg.ascorrea.com
|
||||
2
root/renew.sh
Normal file
2
root/renew.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
# https://mindsers.blog/post/https-using-nginx-certbot-docker/
|
||||
docker compose run --rm certbot renew
|
||||
Reference in New Issue
Block a user