zrrrzzt / docker-unoconv-webservice

Dockerfile to run unoconv as a webservice
MIT License
96 stars 35 forks source link

docker-unoconv-webservice

Dockerimage to run unoconv as a webservice through tfk-api-unoconv.

If you prefer a pre-build version it is available from hub.docker.com just do a regular pull

$ docker pull zrrrzzt/docker-unoconv-webservice

Build

$ docker build -t docker-unoconv-webservice .

Run - example

$ docker run -d -p 80:3000 --name unoconv docker-unoconv-webservice

or if you use the pre-build version

$ docker run -d -p 80:3000 --name unoconv zrrrzzt/docker-unoconv-webservice

Usage

Post the file you want to convert to the server and get the converted file in return.

See all possible conversions on the unoconv website.

API for the webservice is /unoconv/{format-to-convert-to} so a docx to pdf would be

$ curl --form file=@myfile.docx http://localhost/unoconv/pdf > myfile.pdf

For a basic example with upload via form take a look at the browser-file-convert example from nithinkashyapn

Formats

To see all possible formats for convertion visit /unoconv/formats

To see formats for a given type /unoconv/formats/{document|graphics|presentation|spreadsheet}

Versions

To see all versions of unoconv and dependencies lookup /unoconv/versions

Healthz

Are we alive? /healthz

returns

{
  uptime: 18.849
}

Environment

You can change the webservice port and filesize-limit by changing environment variables.

SERVER_PORT default is 3000

PAYLOAD_MAX_SIZE default is 1048576 (1 MB)

TIMEOUT_SERVER default is 2 minutes (120 000 milliseconds)

TIMEOUT_SOCKET default is 2 minutes and 20 seconds (140 000 milliseconds)

Change it in the Dockerfile or create an env-file and load it at containerstart

$ docker run --env-file=docker.env -d -p 80:3000 --name unoconv docker-unoconv-webservice

License

MIT