# DB Type: sqlite, mysql, postgres, cockroachdb # Default if not set: sqlite #SPOOLMAN_DB_TYPE=sqlite # DB Setup, if not using sqlite # Database hostname #SPOOLMAN_DB_HOST= # Database port #SPOOLMAN_DB_PORT= # Database name #SPOOLMAN_DB_NAME= # Database login username #SPOOLMAN_DB_USERNAME= # Path of file which contains the database password. Can be used instead of SPOOLMAN_DB_PASSWORD if desired. #SPOOLMAN_DB_PASSWORD_FILE= # Database login password #SPOOLMAN_DB_PASSWORD= # Query parameters for the database connection, e.g. set to `unix_socket=/path/to/mysql.sock` to connect using a MySQL socket. #SPOOLMAN_DB_QUERY= # Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL # Logs will only be reported if the level is higher than the level set here # Default if not set: INFO #SPOOLMAN_LOGGING_LEVEL=INFO # Automatic nightly backup for SQLite databases # Default if not set: TRUE #SPOOLMAN_AUTOMATIC_BACKUP=TRUE # Data directory, where the SQLite database is stored # Default if not set: /home//.local/share/spoolman #SPOOLMAN_DIR_DATA=/home/pi/spoolman_data # Backup directory, where the SQLite database backups are stored # Default if not set: /home//.local/share/spoolman/backups #SPOOLMAN_DIR_BACKUPS=/home/pi/spoolman_data/backups # Log directory # Default if not set: /home//.local/share/spoolman #SPOOLMAN_DIR_LOGS=/home/pi/spoolman_data # Host and port to listen on SPOOLMAN_HOST=0.0.0.0 SPOOLMAN_PORT=7912 # Change base path # Set this if you want to host Spoolman at a sub-path # If you want the root to be e.g. myhost.com/spoolman # Then set this to /spoolman #SPOOLMAN_BASE_PATH= # Enable Collect Prometheus metrics at database # Default: FALSE #SPOOLMAN_METRICS_ENABLED=TRUE # Collect items (filaments, materials, etc.) from an external database # Set this to a URL of an external database. Set to an empty string to disable # Default: https://donkie.github.io/SpoolmanDB/ #EXTERNAL_DB_URL=https://myhost.com/spoolmandb/ # Sync interval in seconds, set to 0 to disable automatic sync. It will only sync on start-up then. # Default: 3600 #EXTERNAL_DB_SYNC_INTERVAL=3600 # Display name for the external database, shown in the UI. # Set this to match your own catalog if you changed EXTERNAL_DB_URL above. # Default: SpoolmanDB #EXTERNAL_DB_NAME=SpoolmanDB # Serve the previous (React) web client instead of the current one # Both clients ship in the image and talk to the same API, so this is a safe # rollback if the current client misbehaves on your setup. Your data is untouched # either way. Please report the problem so it can be fixed. # Default: FALSE #SPOOLMAN_LEGACY_CLIENT=TRUE # Enable debug mode # If enabled, the client will accept requests from any host # This can be useful when developing, but is also a security risk # Default: FALSE #SPOOLMAN_DEBUG_MODE=TRUE # UID and GID of the user in the docker container # These only make sense if you are running Spoolman in a docker container # Default if not set: 1000 #PUID=1000 #PGID=1000 # Extra browser origins allowed to talk to Spoolman, separated by commas. # Only needed for a web UI served from a different address than Spoolman, such as a Fluidd or # Mainsail instance on another host. Spoolman's own web UI does not need it, and neither does # Moonraker, OctoPrint, Home Assistant or anything else that is not a browser. # Each entry must include the scheme -- a bare "host:port" is not an origin and will never match. # See https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Access-Control-Allow-Origin #SPOOLMAN_CORS_ORIGIN=https://fluidd.local,http://mainsail.local:8080 # To allow every origin. WARNING: this turns the origin checks off entirely, so any website you # visit can read and modify your Spoolman data in the background. Only on a trusted network. #SPOOLMAN_CORS_ORIGIN=* # Hostnames this Spoolman answers to, separated by commas. Off unless set. # Protects against DNS rebinding, where a domain an attacker owns is pointed at your Spoolman's # local address so that their web page can talk to it. Hostnames, not origins: no scheme, no port. # "*.mydomain.com" covers the domain and its subdomains. # IP addresses, single-word names, .local/.lan/.home/.home.arpa/.internal names and any hostname # already in SPOOLMAN_CORS_ORIGIN keep working without being listed. # If you reach Spoolman through a reverse proxy on a real domain, that domain must be listed here # once this is set, or every request is refused with a 400. #SPOOLMAN_ALLOWED_HOSTS=spoolman.mydomain.com # See the Security page in the wiki for how these two fit together: # https://github.com/Donkie/Spoolman/wiki/Security