Stashbox/README.md
2024-02-23 03:31:49 -05:00

1.7 KiB

Stashbox

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