theme | ||
.gitignore | ||
dns.tf | ||
haproxy.conf | ||
hosts.dist | ||
htaccess | ||
httpd.conf.dist | ||
nginx.conf | ||
README.md | ||
sshd_config | ||
Taskfile.yaml |
Stashbox Webhost
Simple and secure application to host files directly from a filesystem. I recommend setting up a ZFS fileserver and backups to complete a secure, reliable cloud storage system.
Designed for IPv6 but includes an extra haproxy config to handle single-stream legacy IP traffic. You will likely need legacy IP if you are using Plex.
Configuration includes references to route some traffic to app.stashbox
,
which is defined as a docker-compose app in the companion repo stashbox-app
.
Components
Taskfile.yml
- Operations and deployment script library.
System Configs
Example FreeBSD system configs to support this service.
hosts.dist
rc.conf.dist
envvars.dist
HTTPd
-
Serve filesystem using file index module with custom interface and Letsencrypt.
httpd.conf.dist
- Configuration to listen on web.stashbox https.
- Domain names must be explicitly set here for Letsencrypt.
htaccess
- Custom root .htaccess based on apaxy to enhance Apache file index module.
theme
- Style and pages for the Apache file index based.
Nginx
- Forward http traffic on plex.stashbox interface to plexmediaserver backend.
HAproxy
- Listen on legacy IP interface and forward traffic to appropriate system.
- Useful to handle traffic from a port-forwarded legacy route with a single external IP.
DNS Terraform
- DNS record management using Namecheap provider.
References
full breakdown of the mod_autoindex module:
official media types list from IANA
media types included in apache