Files
docker-compose-cookbooks/stash/README.md
T
codeandClaude Fable 5 340866f9f4 complete all stack READMEs to the 9-section template
Existing content preserved and reordered to the canonical section order;
missing sections generated from each stack's compose data (ports, volumes,
env vars, image links). Fixes copy-paste errors in Dockhand sections
(qbittorrent pointed at archivebox; invokeai/thunderbird said SERVICENAME)
and persistant->persistent typos in gatus.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 06:25:05 +00:00

3.2 KiB
Raw Blame History

Stash App Docker Compose Configuration

Overview

This Docker Compose configuration sets up the Stash application using Docker containers.

Project Details

Getting Started

  1. Start the container: docker compose up -d
  2. Open http://localhost:9999 in your browser
  3. Follow the initial setup wizard to configure the application

Environment Variable Notes

STASH_CONTENT_PATH  default: /data/stash
STASHAPP_CACHE  default: /cache/
STASHAPP_DOMAIN  default: stash.yourdomain.ca
STASHAPP_PORT  default: 9999

Volume Notes

/generated  host path /data/stash/generated
/metadata  host path /data/stash/metadata
/root/.stash  host path /data/stash/root
/data  host path /data/stash

Network Notes

Requires proxy network

Docker Run

docker run -d \
  --name stash \
  -p 9999:9999 \
  -v /data/stash/generated:/generated \
  -v /data/stash/metadata:/metadata \
  -v /data/stash/root:/root/.stash \
  -v /data/stash:/data \
  stashapp/stash:latest

See compose.yaml for the full set of environment variables.

Additional Notes / Gotchas

Point STASH_CONTENT_PATH at your library; first-run wizard configures the library paths.

Dockhand Stack, Deploy from Git

Cookbooks Repository stackname: stash Compose file path: stash/compose.yaml Additional env file (optional): stash/sample.env

Then "Load" stash/sample.env into the Environmental variables in dockhand

Create the Stack

Setup

Data directories

By default the compose file creates volumes locally in the project:

mkdir -p data/video data/cache data/metadata data/generated data/root/.stash
touch data/root/.stash/config.yml

Usually I .gitignore the data directory and use a backup solution.

Configuration Details

Environment Variables

STASH_IMAGE

Docker image tag for Stash app. Alternative image found here: https://hotio.dev/containers/stash/

STASH_DOMAIN_NAME

Domain name for the Stash app.

MAX_SIZE

Maximum size for log files.

Other

STASH_STASH, STASH_GENERATED, STASH_METADATA, STASH_CACHE: Paths for Stash data directories.

Volumes

/etc/localtime:/etc/localtime:ro: Mounts host system's timezone information. ./data/video:/data: Maps local ./data/video directory to Stash /data directory. ./data/metadata:/metadata: Maps local ./data/metadata directory to Stash /metadata directory. ./data/cache:/cache: Maps local ./data/cache directory to Stash /cache directory. ./data/generated:/generated: Maps local ./data/generated directory to Stash /generated directory. ./data/root:/root: Maps local ./data/root directory to Stash /root directory.

Networking

In your project file, you can change the network mode to host:

services:
  stash:
    ports:
      - "8000:9999"
    network_mode: "host"