Stashbox/README.md

70 lines
1.7 KiB
Markdown

# 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:
- http://apache.org/docs/2.4/mod/mod_autoindex.html
official media types list from IANA
- https://www.iana.org/assignments/media-types/media-types.xhtml
media types included in apache
- https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types