homebox/docs/docs/quick-start.md
Hayden 6dc2ae1bea
feat: asset tags/ids (#142)
* add schema

* run db migration

* bulk seed asset IDs

* breaking: update runtime options

* conditionally increment asset IDs

* update API endpoints

* fix import asset id assignment

* refactor display + marshal/unmarshal

* add docs page

* add to form field

* hide 000-000 values

* update ENV vars
2022-11-13 14:17:55 -09:00

5.8 KiB

Quick Start

Docker Run

Great for testing out the application, but not recommended for stable use. Checkout the docker-compose for the recommended deployment.

docker run --name=homebox \
    --restart=always \
    --publish=3100:7745 \
    ghcr.io/hay-kot/homebox:latest

Docker-Compose

version: "3.4"

services:
  homebox:
    image: ghcr.io/hay-kot/homebox:latest
    container_name: homebox
    restart: always
    environment:
    - HBOX_LOG_LEVEL=info
    - HBOX_LOG_FORMAT=text
    - HBOX_WEB_MAX_UPLOAD_SIZE=10
    volumes:
      - homebox-data:/data/
    ports:
      - 3100:7745

volumes:
   homebox-data:
     driver: local

Env Variables & Configuration

Variable Default Description
HBOX_MODE production application mode used for runtime behavior can be one of: development, production
HBOX_WEB_PORT 7745 port to run the web server on, if you're using docker do not change this
HBOX_WEB_HOST host to run the web server on, if you're using docker do not change this
HBOX_OPTIONS_ALLOW_REGISTRATION true allow users to register themselves
HBOX_OPTIONS_AUTO_INCREMENT_ASSET_ID true auto increments the asset_id field for new items
HBOX_WEB_MAX_UPLOAD_SIZE 10 maximum file upload size supported in MB
HBOX_STORAGE_DATA /data/ path to the data directory, do not change this if you're using docker
HBOX_STORAGE_SQLITE_URL /data/homebox.db?_fk=1 sqlite database url, in you're using docker do not change this
HBOX_LOG_LEVEL info log level to use, can be one of: trace, debug, info, warn, error, critical
HBOX_LOG_FORMAT text log format to use, can be one of: text, json
HBOX_MAILER_HOST email host to use, if not set no email provider will be used
HBOX_MAILER_PORT 587 email port to use
HBOX_MAILER_USERNAME email user to use
HBOX_MAILER_PASSWORD email password to use
HBOX_MAILER_FROM email from address to use
HBOX_SWAGGER_HOST 7745 swagger host to use, if not set swagger will be disabled
HBOX_SWAGGER_SCHEMA http swagger schema to use, can be one of: http, https

!!! tip "CLI Arguments" If you're deploying without docker you can use command line arguments to configure the application. Run homebox --help for more information.

  ```sh
  Usage: api [options] [arguments]

  OPTIONS
    --mode/$HBOX_MODE                                                        <string>  (default: development)
    --web-port/$HBOX_WEB_PORT                                                <string>  (default: 7745)
    --web-host/$HBOX_WEB_HOST                                                <string>
    --web-max-upload-size/$HBOX_WEB_MAX_UPLOAD_SIZE                          <int>     (default: 10)
    --storage-data/$HBOX_STORAGE_DATA                                        <string>  (default: ./.data)
    --storage-sqlite-url/$HBOX_STORAGE_SQLITE_URL                            <string>  (default: ./.data/homebox.db?_fk=1)
    --log-level/$HBOX_LOG_LEVEL                                              <string>  (default: info)
    --log-format/$HBOX_LOG_FORMAT                                            <string>  (default: text)
    --mailer-host/$HBOX_MAILER_HOST                                          <string>
    --mailer-port/$HBOX_MAILER_PORT                                          <int>
    --mailer-username/$HBOX_MAILER_USERNAME                                  <string>
    --mailer-password/$HBOX_MAILER_PASSWORD                                  <string>
    --mailer-from/$HBOX_MAILER_FROM                                          <string>
    --swagger-host/$HBOX_SWAGGER_HOST                                        <string>  (default: localhost:7745)
    --swagger-scheme/$HBOX_SWAGGER_SCHEME                                    <string>  (default: http)
    --demo/$HBOX_DEMO                                                        <bool>
    --debug-enabled/$HBOX_DEBUG_ENABLED                                      <bool>    (default: false)
    --debug-port/$HBOX_DEBUG_PORT                                            <string>  (default: 4000)
    --options-allow-registration/$HBOX_OPTIONS_ALLOW_REGISTRATION            <bool>    (default: true)
    --options-auto-increment-asset-id/$HBOX_OPTIONS_AUTO_INCREMENT_ASSET_ID  <bool>    (default: true)
    --help/-h
    display this help message
  ```