Giter Site home page Giter Site logo

solo2424 / spoolman Goto Github PK

View Code? Open in Web Editor NEW

This project forked from donkie/spoolman

0.0 0.0 0.0 260 KB

Keep track of your inventory of 3D-printer filament spools.

License: MIT License

JavaScript 0.28% Python 67.43% TypeScript 30.24% HTML 0.38% Mako 0.38% Dockerfile 1.30%

spoolman's Introduction

Icon of a filament spool



Keep track of your inventory of 3D-printer filament spools.

Spoolman is a web service that helps you keep track of your filament spools and how they are being used.

It is designed to be easily integrated into printer software such as Octoprint and Moonraker where these services can e.g. list available spools, report filament consumption, etc.

It exposes a REST API which backends can interact with. See the OpenAPI description for more information.

It also ships with a simple web-based UI that lets you manipulate the stored data, add filaments, etc.

Installation

Using Docker

The easiest way to run Spoolman is using Docker. Docker is a platform for developing, shipping, and running applications in containers. Containers are lightweight, portable, and self-contained environments that can run on any machine with Docker installed.

To install Docker on your machine, follow the instructions for your operating system on the Docker website. Once you have Docker installed, you can use the sample docker-compose.yml file below to run Spoolman in a container.

The data can be stored in any of the following databases: SQLite, PostgreSQL, MySQL, MariaDB, CockroachDB. By default, SQLite is used which is a simple no-install database solution that saves to a single .db file located in the server's user directory.

Here is a sample docker-compose.yml to get you started:

version: '3.8'
services:
  spoolman:
    image: ghcr.io/donkie/spoolman:latest
    restart: unless-stopped
    volumes:
      - ./data:/home/app/.local/share/spoolman
    ports:
      - "7912:8000"

With this example, you should first create a folder called data in the same directory as the docker-compose.yml, then you should run chown 1000:1000 data on it in order to give it the correct permissions for the user inside the docker container.

Once you have it up and running, you can access the web UI by browsing to http://your.ip:7912.

If you want to connect with an external database instead, specify the environment variables from the table below.

Variable Description
SPOOLMAN_DB_TYPE Type of database, any of: postgres, mysql, sqlite, cockroachdb
SPOOLMAN_DB_HOST Database hostname
SPOOLMAN_DB_PORT Database port
SPOOLMAN_DB_NAME Database name
SPOOLMAN_DB_USERNAME Database username
SPOOLMAN_DB_PASSWORD_FILE Path of file which contains the database password. This is more secure than using SPOOLMAN_DB_PASSWORD.
SPOOLMAN_DB_PASSWORD Database password
SPOOLMAN_DB_QUERY Query parameters for the database connection, e.g. set to unix_socket=/path/to/mysql.sock to connect using a MySQL socket.

Configuration

Moonraker

Moonraker has built-in support for Spoolman. See the Moonraker Documentation for more information.

spoolman's People

Contributors

donkie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.