Skip to content

Web application

Adam Tauber edited this page Sep 29, 2022 · 2 revisions

Omnom has a multi-user, web based service that can save and serve bookmarks/snapshots.

Output formats

Every endpoint has an additional JSON and RSS output. Add ?format=rss or ?format=json GET parameter to the URL to be able to fetch the non-HTML output formats of any endpoint.

Omnom.go

The web application is written in Golang and can be started by executing omnom.go with the listen argument. (go run omnom.go listen or go build omnom.go && ./omnom listen)

The executable provides the following actions:

Usage:
  omnom [command]

Available Commands:
  completion           Generate the autocompletion script for the specified shell
  create-token         create new login/addon token for a user
  create-user          create new user
  generate-api-docs-md Generate Markdown API documentation
  help                 Help about any command
  listen               start server
  set-token            set new login/addon token for a user
  show-user            show user details

Flags:
      --config string   config file (default is config.yml) (default "config.yml")
  -d, --debug           turn on debug mode
  -h, --help            help for omnom
  -v, --version         version for omnom

Use "omnom [command] --help" for more information about a command.

Configuration

Configure Omnom by editing config.yml configuration file.

Currently available configuration options:

  • Application
    • debug: debug mode (default: true)
    • bookmarks_per_page: how many bookmarks are displayed on one page (default: 20)
    • disable_signup: restrict user creation to command line (default: false)
  • Server
    • address: listening address (default: "127.0.0.1:7331")
    • base_url: custom base url (default: "")
  • Database
    • type: database type (default: "sqlite")
    • connection: database connection string (default: "./db.sqlite3")
  • Storage
    • type: storage layer type (default: "fs") - note that currently this is the only storage type implementation
    • root: root directory of the filesystem storage (default: "./static/data")
  • SMTP
    • host (default "") - leave it blank to disable sending mails
    • port (default: 25)
    • username (default: "")
    • password (default: "")
    • sender (default "Omnom <[email protected]>")
    • tls (default: false)
    • tls_allow_insecure (default: false)
    • send_timeout (default: 10) - seconds
    • connection_timeout (default: 5) - seconds
Clone this wiki locally