calibre-server [options] [path to lib folder]
--auto-reload
--daemonize
--displayed-fields # comma separated
--enable-auth
--enable-local-write
--log
--access-log
--manage-users
--max-log-size # size in MB; zero disable log rotation
--port
--url-prefix # /calibre
--userdb # to create, use --manage-users
--pidfile # set location of pidfile
# example
calibre-server --daemonize --log=/var/log/calibre.log --max-log-size=50 --port 8080 --enable-local-write
# create systemd unit template
/etc/systemd/system/calibre-server@.service
# systemctl start calibre-server@user.service
[Unit]
Description=calibre Content Server
After=network.target
[Service]
Type=simple
User=%i
PIDFile=/var/tmp/calibre/server.pid
PermissionsStartOnly=true
ExecStartPre=/usr/bin/mkdir -p /var/tmp/calibre -m 777
ExecStart=/usr/bin/calibre-server \
--log=/var/tmp/calibre/error.log \
--access-log=/var/tmp/calibre/access.log \
--max-log-size=50 \
--port=8080 \
--enable-local-write \
--pidfile=/var/tmp/calibre/server.pid \
/home/%i/calibre/
[Install]
WantedBy=multi-user.target
# if calibre-server is running, with --enable-local-write
calibredb command [options] [arguments]
# list
calibredb list [options]
--fields # fields, sep by comma, authors, series, tags, title; default title and authors; all
--limit # default all
--search # search
--separator # default space
--sort-by # default id
--ascending
# add
calibredb add [options] file1 file2 file3...
--authors, -a # set authors
--automerge, -m # automerge
--cover, -c
--series, -s
--tags, -T
--title, -t
# remove
calibredb remove ids # separated by comma
--permanent
# metadata
calibredb show_metadata id
calibredb set_metadata [options] id
--list-fields, -l # list fields
--field, -f # field_name:value. e.g.: --field tags:tag1,tag2
# export
calibredb export [options] ids
--all
--dont-save-cover
--dont-write-opf
--formats # separated by comma
--progress
--replace-whitespace
--template # "{title}-{author}"
--to-dir # folder, default is .
--to-lowercase
## export
calibredb --with-library="http://localhost:8080" export --all --formats=epub,m4b --dont-write-opf --dont-save-cover --progress --template="{series}/{title} - {authors}"
# format
calibredb add_format [options] id ebbok_file
--dont-replace # dont replace if already exists
calibredb remove_format [options] id fmt