2024-02-23 08:31:49 +00:00
|
|
|
# Stashbox
|
2024-02-23 08:25:03 +00:00
|
|
|
|
|
|
|
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
|