Merge branch 'refactor'

This commit is contained in:
2023-04-10 18:25:56 -05:00
284 changed files with 540 additions and 88088 deletions

27
.gitignore vendored
View File

@@ -1,19 +1,18 @@
*.mp3
root/secrets
root/foundry_secrets.json
home/certbot/conf/*
!home/certbot/conf/.gitkeep
home/dir2cast/getID3
home/dir2cast/temp
home/foundry/Data/modules/*
!home/foundry/Data/modules/asc
home/foundry/Data/systems/*
home/foundry/Data/worlds/*
home/foundry/container_cache
home/yacht/data.sqlite
home/filebrowser/database.db
apps/certbot/conf/*
!apps/certbot/conf/.gitkeep
apps/dir2cast/getID3
apps/dir2cast/temp
apps/foundry/Data/modules/*
!apps/foundry/Data/modules/asc
apps/foundry/Data/systems/*
apps/foundry/Data/worlds/*
apps/foundry/foundry_secrets.json
apps/foundry/container_cache
apps/yacht/data.sqlite
apps/filebrowser/database.db
**/.idea/**
home/vouch/config.yml
apps/vouch/config.yml
design/
# General

12
.gitmodules vendored Normal file
View File

@@ -0,0 +1,12 @@
[submodule "apps/dir2cast"]
path = apps/dir2cast
url = https://github.com/ben-xo/dir2cast
[submodule "apps/rolladvantage"]
path = apps/rolladvantage
url = https://gitea.ascorrea.com/asc/rolladvantage.git
[submodule "scripts/docker-install"]
path = scripts/docker-install
url = https://github.com/docker/docker-install
[submodule "scripts/localhost-ssl"]
path = scripts/localhost-ssl
url = https://gist.github.com/jonsamp/587b78b7698be7c7fd570164a586e6b7

10
Dockerfile Normal file
View File

@@ -0,0 +1,10 @@
FROM nginx
RUN echo $UID
RUN mkdir -p /var/www/dir2cast
RUN chown -R www-data:www-data /var/www/dir2cast
COPY apps/dir2cast/dir2cast.php /var/www/dir2cast
COPY apps/dir2cast/getID3 /var/www/dir2cast/getID3
RUN ln -s /var/www/podcast/dir2cast.ini /var/www/dir2cast
RUN ln -s /var/www/podcast/ /var/www/dir2cast

1
apps/dir2cast Submodule

Submodule apps/dir2cast added at 178c977b3f

View File

@@ -0,0 +1,4 @@
FROM filebrowser/filebrowser
COPY docker-entrypoint.sh /usr/local/bin
RUN ln -s /usr/local/bin/docker-entrypoint.sh /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -0,0 +1,39 @@
#!/bin/sh
USERS_DIR=/srv/filebrowser/files/users/
echo "Initializing container"
/filebrowser config init
/filebrowser config set --auth.method=$AUTH_METHOD --auth.header=$AUTH_HEADER
mkdir -p $USERS_DIR
USER=anthonyscorrea@gmail.com
/filebrowser users add $USER "" --perm.admin
/filebrowser users update $USER --scope "users/$USER"
mkdir -p $USERS_DIR$USER
ln -s /srv/foundry/Data/modules $USERS_DIR$USER/foundry-modules
ln -s /srv/foundry/Data/worlds $USERS_DIR$USER/foundry-worlds
ln -s /srv/foundry/Data/systems $USERS_DIR$USER/foundry-systems
ln -s /srv/metube $USERS_DIR$USER/metube
ln -s /srv/foundry/ $USERS_DIR$USER/foundry
USER=bcrase@gmail.com
/filebrowser users add $USER ""
/filebrowser users update $USER --scope "users/$USER"
mkdir -p $USERS_DIR$USER
ln -s /srv/foundry/Data/worlds $USERS_DIR$USER/foundry-worlds
ln -s /srv/metube $USERS_DIR$USER/metube
USER=acorre20@gmail.com
/filebrowser users add $USER ""
/filebrowser users update $USER --scope "users/$USER"
mkdir -p $USERS_DIR$USER
ln -s /srv/foundry/Data/worlds $USERS_DIR$USER/foundry-worlds
/filebrowser users add $USER ""
/filebrowser users update $USER --scope "users/$USER"
mkdir -p $USERS_DIR$USER
exec "/filebrowser"

View File

@@ -0,0 +1,8 @@
{
"port": 80,
"baseURL": "/filebrowser",
"address": "",
"log": "stdout",
"database": "/srv/filebrowser/database.db",
"root": "/srv/filebrowser/files"
}

View File

@@ -0,0 +1,20 @@
location /filebrowser/ {
auth_request /vouch/validate;
auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
proxy_set_header X-Vouch-User $auth_resp_x_vouch_user;
add_header X-Vouch-User $auth_resp_x_vouch_user;
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/;
}

1
apps/foundry/Dockerfile Normal file
View File

@@ -0,0 +1 @@
FROM felddy/foundryvtt:release

View File

@@ -0,0 +1,24 @@
location ~ ^/foundry/$ {
return 301 /foundry/game/;
}
location /foundry/ {
auth_request /vouch/validate;
auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
proxy_set_header X-Vouch-User $auth_resp_x_vouch_user;
# 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";
# may need to set
# auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
# in this bock as per https://github.com/vouch/vouch-proxy/issues/26#issuecomment-425215810
# set user header (usually an email)
proxy_pass http://foundry:30000/foundry/;
}

View File

@@ -0,0 +1,3 @@
{
"foundry_admin_key": ""
}

View File

@@ -1,7 +1,7 @@
{
"awsConfig": null,
"compressStatic": false,
"dataPath": "/data",
"dataPath": "/srv/foundry",
"fullscreen": false,
"hostname": null,
"language": "en.core",

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xml:space="preserve"
width="560"
height="560"
version="1.1"
style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"
viewBox="0 0 560 560"
id="svg44"
sodipodi:docname="icon_raw.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
inkscape:export-filename="/home/umarcor/filebrowser/logo/icon_raw.svg.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><metadata
id="metadata48"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="711"
id="namedview46"
showgrid="false"
inkscape:zoom="0.33714286"
inkscape:cx="-172.33051"
inkscape:cy="280"
inkscape:window-x="0"
inkscape:window-y="20"
inkscape:window-maximized="1"
inkscape:current-layer="svg44" />
<defs
id="defs4">
<style
type="text/css"
id="style2">
<![CDATA[
.fil1 {fill:#FEFEFE}
.fil6 {fill:#006498}
.fil7 {fill:#0EA5EB}
.fil8 {fill:#2979FF}
.fil3 {fill:#2BBCFF}
.fil0 {fill:#455A64}
.fil4 {fill:#53C6FC}
.fil5 {fill:#BDEAFF}
.fil2 {fill:#332C2B;fill-opacity:0.149020}
]]>
</style>
</defs>
<g
id="g85"
transform="translate(-70,-70)"><path
class="fil1"
d="M 350,71 C 504,71 629,196 629,350 629,504 504,629 350,629 196,629 71,504 71,350 71,196 196,71 350,71 Z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#fefefe" /><path
class="fil2"
d="M 475,236 593,387 C 596,503 444,639 301,585 L 225,486 339,330 c 0,0 138,-95 136,-94 z"
id="path11"
inkscape:connector-curvature="0"
style="fill:#332c2b;fill-opacity:0.14902003" /><path
class="fil3"
d="m 231,211 h 208 l 38,24 v 246 c 0,5 -3,8 -8,8 H 231 c -5,0 -8,-3 -8,-8 V 219 c 0,-5 3,-8 8,-8 z"
id="path13"
inkscape:connector-curvature="0"
style="fill:#2bbcff" /><path
class="fil4"
d="m 231,211 h 208 l 38,24 v 2 L 440,214 H 231 c -4,0 -7,3 -7,7 v 263 c -1,-1 -1,-2 -1,-3 V 219 c 0,-5 3,-8 8,-8 z"
id="path15"
inkscape:connector-curvature="0"
style="fill:#53c6fc" /><polygon
class="fil5"
points="305,212 418,212 418,310 305,310 "
id="polygon17"
style="fill:#bdeaff" /><path
class="fil5"
d="m 255,363 h 189 c 3,0 5,2 5,4 V 483 H 250 V 367 c 0,-2 2,-4 5,-4 z"
id="path19"
inkscape:connector-curvature="0"
style="fill:#bdeaff" /><polygon
class="fil6"
points="250,470 449,470 449,483 250,483 "
id="polygon21"
style="fill:#006498" /><path
class="fil6"
d="m 380,226 h 10 c 3,0 6,2 6,5 v 40 c 0,3 -3,6 -6,6 h -10 c -3,0 -6,-3 -6,-6 v -40 c 0,-3 3,-5 6,-5 z"
id="path23"
inkscape:connector-curvature="0"
style="fill:#006498" /><path
class="fil1"
d="m 254,226 c 10,0 17,7 17,17 0,9 -7,16 -17,16 -9,0 -17,-7 -17,-16 0,-10 8,-17 17,-17 z"
id="path25"
inkscape:connector-curvature="0"
style="fill:#fefefe" /><path
class="fil6"
d="m 267,448 h 165 c 2,0 3,1 3,3 v 0 c 0,1 -1,3 -3,3 H 267 c -2,0 -3,-2 -3,-3 v 0 c 0,-2 1,-3 3,-3 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#006498" /><path
class="fil6"
d="m 267,415 h 165 c 2,0 3,1 3,3 v 0 c 0,1 -1,2 -3,2 H 267 c -2,0 -3,-1 -3,-2 v 0 c 0,-2 1,-3 3,-3 z"
id="path29"
inkscape:connector-curvature="0"
style="fill:#006498" /><path
class="fil6"
d="m 267,381 h 165 c 2,0 3,2 3,3 v 0 c 0,2 -1,3 -3,3 H 267 c -2,0 -3,-1 -3,-3 v 0 c 0,-1 1,-3 3,-3 z"
id="path31"
inkscape:connector-curvature="0"
style="fill:#006498" /><path
class="fil1"
d="m 236,472 c 3,0 5,2 5,5 0,2 -2,4 -5,4 -3,0 -5,-2 -5,-4 0,-3 2,-5 5,-5 z"
id="path33"
inkscape:connector-curvature="0"
style="fill:#fefefe" /><path
class="fil1"
d="m 463,472 c 3,0 5,2 5,5 0,2 -2,4 -5,4 -3,0 -5,-2 -5,-4 0,-3 2,-5 5,-5 z"
id="path35"
inkscape:connector-curvature="0"
style="fill:#fefefe" /><polygon
class="fil6"
points="305,212 284,212 284,310 305,310 "
id="polygon37"
style="fill:#006498" /><path
class="fil7"
d="m 477,479 v 2 c 0,5 -3,8 -8,8 H 231 c -5,0 -8,-3 -8,-8 v -2 c 0,4 3,8 8,8 h 238 c 5,0 8,-4 8,-8 z"
id="path39"
inkscape:connector-curvature="0"
style="fill:#0ea5eb" /><path
class="fil8"
d="M 350,70 C 505,70 630,195 630,350 630,505 505,630 350,630 195,630 70,505 70,350 70,195 195,70 350,70 Z m 0,46 C 479,116 584,221 584,350 584,479 479,584 350,584 221,584 116,479 116,350 116,221 221,116 350,116 Z"
id="path41"
inkscape:connector-curvature="0"
style="fill:#2979ff" /></g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View File

Before

Width:  |  Height:  |  Size: 296 KiB

After

Width:  |  Height:  |  Size: 296 KiB

View File

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 98 KiB

View File

Before

Width:  |  Height:  |  Size: 290 KiB

After

Width:  |  Height:  |  Size: 290 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 228 KiB

View File

@@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<title>Crew of the Kahuna</title>
<link rel="stylesheet" href="../assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,500,500i,600,600i,700,700i,800,800i&amp;display=swap">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Oswald:200,300,400,500,600,700&amp;display=swap">
<link rel="stylesheet" href="../assets/css/Articles-Cards-images.css">
<link rel="stylesheet" href="../assets/css/Features-Cards-icons.css">
<link rel="stylesheet" href="../assets/css/Navigation-Clean.css">
<link rel="shortcut icon" type="image/jpg" href="favicon.png"/>
</head>
<body style="background: #b3a48d;">
<nav class="navbar navbar-light navbar-expand bg-light">
<div class="container"><img src="../assets/img/crew-of-the-kahuna-horiz.svg" width="400"></div>
</nav>
<div class="container-sm">
<div class="row">
<div class="col p-3">
<div class="card">
<div class="card-header d-lg-flex align-items-lg-center">
<h5 class="text-uppercase" style="font-family: Oswald, sans-serif;">GM Tools</h5>
</div>
<div class="card-body p-0">
<div class="list-group list-group-flush"><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="/filebrowser"><img src="../assets/img/filebrowser-logo.svg" width="32" height="32"><span class="mx-2">Filebrowser</span></a><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="/metube"><img src="../assets/img/metube.png" width="32" height="32"><span class="mx-2">Metube</span></a><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="/rolladvantage/tokenstamp"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-file-person-fill" style="width: 32px;height: 32px;">
<path d="M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z"></path>
</svg><span class="mx-2">Token Stamp</span></a></div>
</div>
</div>
</div>
</div>
</div>
<script src="../assets/bootstrap/js/bootstrap.min.js"></script>
</body>
</html>

View File

@@ -26,7 +26,11 @@
<h5 class="text-uppercase" style="font-family: Oswald, sans-serif;">Links</h5>
</div>
<div class="card-body p-0">
<div class="list-group list-group-flush"><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="/foundry"><img src="assets/img/fvtt-solid-512.png" width="32" height="32"><span class="mx-2">Foundry</span></a><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="https://discord.com/channels/793158154871111681/1090411116003336212"><img src="assets/img/discord-512.webp" width="32" height="32"><span class="mx-2">Discord</span></a></div>
<div class="list-group list-group-flush"><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="/foundry"><img src="assets/img/fvtt-solid-512.png" width="32" height="32"><span class="mx-2">Foundry</span></a><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="https://discord.gg/tbU7G54D"><img src="assets/img/discord-512.webp" width="32" height="32"><span class="mx-2">Discord</span></a><a class="d-lg-flex align-items-lg-center list-group-item list-group-item-action" href="/gm-tools"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-journal-bookmark" style="width: 32px;height: 32px;">
<path fill-rule="evenodd" d="M6 8V1h1v6.117L8.743 6.07a.5.5 0 0 1 .514 0L11 7.117V1h1v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8z"></path>
<path d="M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z"></path>
<path d="M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z"></path>
</svg><span class="mx-2">GM Tools</span></a></div>
</div>
</div>
</div>
@@ -71,7 +75,7 @@
<div class="list-group list-group-flush">
<div class="accordion accordion-flush" role="tablist" id="accordion-2">
<div class="accordion-item">
<h2 class="accordion-header" role="tab"><button class="accordion-button collapsed p-2" type="button" data-bs-toggle="collapse" data-bs-target="#accordion-2 .item-1" aria-expanded="false" aria-controls="accordion-2 .item-1"><a class="d-flex align-items-center text-decoration-none" href="/podcast/">
<h2 class="accordion-header" role="tab"><button class="accordion-button collapsed p-2" type="button" data-bs-toggle="collapse" data-bs-target="#accordion-2 .item-1" aria-expanded="false" aria-controls="accordion-2 .item-1"><a class="d-flex align-items-center text-decoration-none" href="#">
<div class="d-inline-block rounded-3" style="background: url(&quot;assets/img/itunes_image.jpg&quot;) center / cover;height: 128px;width: 128px;"></div><span class="text-dark mx-3" style="font-family: 'Open Sans', sans-serif;">D&amp;D vs. Rick and Morty</span>
</a></button></h2>
<div class="accordion-collapse collapse item-1" role="tabpanel" data-bs-parent="#accordion-2">

View File

@@ -0,0 +1,7 @@
location /metube/ {
proxy_pass http://metube:8081;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}

View File

@@ -0,0 +1,42 @@
server {
server_name _;
# you can serve any number of redirects from here...
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name rpg.ascorrea.com;
ssl_certificate /etc/nginx/ssl/live/rpg.ascorrea.com/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/live/rpg.ascorrea.com/privkey.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/ssl/live/rpg.ascorrea.com/fullchain.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# include applications/vouch.conf;
root /var/www/html/;
error_page 401 = @error401;
location / {
# This application is simply proxy-passed without any authentication
index index.html index.htm;
}
location /gm-tools {
auth_request /vouch/validate;
auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
# This application is simply proxy-passed without any authentication
index index.html index.htm;
}
include /etc/nginx/conf.d/apps-enabled/*.conf;
}

View File

Before

Width:  |  Height:  |  Size: 131 KiB

After

Width:  |  Height:  |  Size: 131 KiB

View File

Before

Width:  |  Height:  |  Size: 290 KiB

After

Width:  |  Height:  |  Size: 290 KiB

View File

Before

Width:  |  Height:  |  Size: 654 KiB

After

Width:  |  Height:  |  Size: 654 KiB

View File

@@ -15,43 +15,43 @@ location ~* /podcast/media/(?:.*)-(?<season_2>s02)?(?<episode_label>ep\d+)(\.mp3
# rewrite /podcast/(dir2cast.php) /dir2cast/$1;
#}
location /podcast {
return 301 /podcast/;
}
location /podcast/ {
alias /var/www/dir2cast/;
alias /var/www/podcast/;
autoindex on;
if ( $arg_name) {
return 301 /podcast/media/$arg_name;
}
location ~* /podcast/(?<dir>.*)/feed {
# return 501;
rewrite /podcast/ /dir2cast/dir2cast.php?dir=$dir;
location ~* (/podcast/)(?<dir>.*)/feed {
rewrite /podcast/ /dir2cast/dir2cast.php?dir=podcast/$dir;
}
location ~ (\.php|\.ini)$ {
location ~ (\.php|\.ini|\.conf)$ {
return 403;
}
}
location /dir2cast/ {
root /var/www;
alias /var/www/dir2cast/;
location ~ ^/dir2cast/dir2cast.php {
# return 501;
# return 501;
include fastcgi_params;
fastcgi_pass php:9000;
add_header x-test "$args" always;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
location ~ (\.php|\.ini)$ {
return 403;
}
}

1
apps/rolladvantage Submodule

Submodule apps/rolladvantage added at eb720963a3

View File

@@ -1,7 +1,7 @@
# https://github.com/vouch/vouch-proxy#vouch-proxy-in-a-path
location /vouch {
proxy_pass http://vouch; # must not! have a slash at the end
proxy_pass http://vouch:9090/vouch; # must not! have a slash at the end
proxy_set_header Host $http_host;
proxy_pass_request_body off;
proxy_set_header Content-Length "";

140
docker-compose.yml Normal file
View File

@@ -0,0 +1,140 @@
version: "3"
name: rpg-ascorrea-com
services:
webserver:
container_name: web
build:
context: .
hostname: webserver
volumes:
- ./apps/podcast:/var/www/podcast
- ./apps/html:/var/www/html
- ./apps/rolladvantage/:/var/www/rolladvantage
- dir2cast:/var/www/dir2cast
- type: bind
source: ./apps/certbot/www
target: /var/www/certbot
read_only: true
- type: bind
source: ./apps/certbot/conf
target: /etc/nginx/ssl
read_only: true
- ./apps/rolladvantage/rolladvantage.nginx.conf:/etc/nginx/conf.d/apps-enabled/rolladvantage.conf
- ./apps/podcast/podcast.nginx.conf:/etc/nginx/conf.d/apps-enabled/podcast.conf
- ./apps/filebrowser/filebrowser.nginx.conf:/etc/nginx/conf.d/apps-enabled/filebrowser.conf
- ./apps/foundry/foundry.nginx.conf:/etc/nginx/conf.d/apps-enabled/foundry.conf
- ./apps/nginx/conf.d/swrpg.ascorrea.com.conf:/etc/nginx/conf.d/swrpg.ascorrea.com.conf
- ./apps/vouch/vouch.nginx.conf:/etc/nginx/conf.d/apps-enabled/vouch.conf
- ./apps/metube/metube.nginx.conf:/etc/nginx/conf.d/apps-enabled/metube.conf
- ./apps/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
environment:
TZ: "America/Chicago"
ports:
- "80:80"
- "443:443"
networks:
- internal
certbot:
container_name: certbot
image: certbot/certbot:latest
volumes:
- type: bind
source: ./apps/certbot/www
target: /var/www/certbot
- type: bind
source: ./apps/certbot/conf
target: /etc/letsencrypt
php:
container_name: php
image: php:7.0-fpm
hostname: php
volumes:
- type: bind
source: ./apps/podcast
target: /var/www/podcast
- dir2cast:/var/www/dir2cast
environment:
TZ: "America/Chicago"
UID: 33
GID: 33
networks:
- internal
filebrowser:
container_name: filebrowser
build:
context: ./apps/filebrowser
hostname: filebrowser
volumes:
- filebrowser:/srv/filebrowser
- foundry:/srv/foundry
- metube:/srv/metube
# - ./apps/filebrowser/database.db:/database.db
- ./apps/filebrowser/filebrowser.json:/.filebrowser.json
- ./apps/filebrowser/docker-entrypoint.sh:/docker-entrypoint.sh
- ./apps/podcast:/srv/podcast
environment:
TZ: "America/Chicago"
UID: 33
GID: 33
AUTH_METHOD: proxy
AUTH_HEADER: X-Vouch-User
networks:
- internal
foundry:
container_name: foundry
build:
context: ./apps/foundry
hostname: foundry
init: true
volumes:
- foundry:/data
- metube:/srv/metube
- ./apps/foundry/container_cache:/data/container_cache
environment:
TZ: "America/Chicago"
FOUNDRY_UID: 33
FOUNDRY_GID: 33
FOUNDRY_ROUTE_PREFIX: "foundry"
secrets:
- source: config_json_foundry
target: config.json
networks:
- internal
vouch:
container_name: vouch
image: quay.io/vouch/vouch-proxy
environment:
TZ: "America/Chicago"
UID: 33
GID: 33
volumes:
- ./apps/vouch/config.yml:/config/config.yml
networks:
- internal
metube:
container_name: metube
hostname: metube
image: ghcr.io/alexta69/metube
# restart: unless-stopped
environment:
URL_PREFIX: "/metube"
volumes:
- metube:/downloads
networks:
- internal
networks:
internal:
driver: bridge
secrets:
config_json_foundry:
file: apps/foundry/foundry_secrets.json
volumes:
filebrowser:
foundry:
podcast:
metube:
dir2cast:

View File

@@ -1 +0,0 @@
/Users/asc/documents-local/rpg/Podcast/publish/00dnd

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +0,0 @@
{
"port": 80,
"baseURL": "/filebrowser",
"address": "",
"log": "stdout",
"database": "/database.db",
"root": "/srv",
"auth":{
"method":"proxy",
"header":"X-Vouch-User"
}
}

View File

@@ -1 +0,0 @@
../../../../foundry/Data/

View File

@@ -1 +0,0 @@
../../../../foundry/Data/worlds/bridgets-in-the-dark

View File

@@ -1 +0,0 @@
8c78feb47ec9762b024341a0b439d8ddb6cc6cf1ff91c20d18fce9436d96c46fcdb815c7949028cb49d7d4a5e1ef36ee4e8a90a69429f9c590487bbe8365760c

View File

@@ -1,7 +0,0 @@
{
"host": "foundry",
"license": "STVDFOY4IH23OK9DQGXNZ9QJ",
"version": "0.8.0",
"time": "2023-03-19T20:05:29.567Z",
"signature": "RxA8BNe7ayMF36Di2HUM7uqXfmRrx8WhRv/wm+lGfjlQJT4ZmJ5aiEEZHxr1x79LUlB1zEUEUejgE1yxxHQcDrR57gGnBAUiZlEUcBrTbJV8WPmObz2Zd7/HFa3V+tcAR4O3bf8GFP62e8YcYPXKCULz8o003lIqjP26k2a2iW5Oa74AuCV6gsVlHZre3Wa6PLtLVOXr35/9FqFBXTTT8MwqLIubsVaZnewL3+u2VFpqLOC55DrFkuvalcHK0r8byaq+BI1wZiOmR/20LET6vTpK+EoVgvnmWcgQ1kH1r4MriABoWHyq0FyrtMBIXDb06zXKyKAbN9SVhjptWigxcmW4yVmIG4gGDEljv4SCCUXQ0H7h0ZtbAR66hSflwd8XTvEmMx7bkF6/wHQoOFNNXLlLlpCylH1ly2/8hQGBQhmhi0uSOnjR4VCpE8uk7tcjCT4SZWdPh4zvN5UrI24Kol0SYTU5u0/vEU8d0ZjLceGNhP412fAtgA/U4nZ8VfNnlVZKPpTnL9ErYNVwYoiKn5a0fbuQZu3ht3TRlYwwS6QGjhno2JUerlir0D26DuyZemP0upXvk98ZEs9nT4dRP3rV9MuAyRpXO09yPUf5yJdZH/Ay9Ms5wZWvEdy0/TInLGezGnROshq+R3/DBEw/TlzmqTsK5SU2oyd6Kk9ZZ8E="
}

View File

@@ -1,32 +0,0 @@
.customCssSettings {
display: flex;
flex-direction: column;
height: 100%;
}
.customCssSettings h2 {
margin: .2em 0 0 0;
font-size: 1.25em;
}
.customCssSettings .notes {
flex-basis: unset;
padding: 0;
}
.customCssSettings .stylesheet-editor {
display: flex;
flex-grow: 1;
flex-shrink: 0;
flex-basis: 250px;
overflow: hidden;
}
.customCssSettings .stylesheet-editor .CodeMirror {
height: 100%;
width: 100%;
}
.customCssSettings textarea {
font-family: 'Courier New', Courier, monospace;
height: 100%;
width: 100%;
}
.customCssSettings button {
margin-top: .5em;
}

Some files were not shown because too many files have changed in this diff Show More