Skip to content

Commit

Permalink
First Dockerfile version
Browse files Browse the repository at this point in the history
  • Loading branch information
lcrea committed Feb 28, 2017
1 parent 63537cf commit 2c7f88a
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 0 deletions.
45 changes: 45 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
FROM debian:jessie
MAINTAINER Luca Crea <lucacrea@yahoo.it>


RUN set -ex \
&& addgroup --system --gid 500 libreoffice \
&& adduser --disabled-password --system --disabled-login --shell /sbin/nologin --gid 500 --uid 500 libreoffice


ENV GOSU_VERSION 1.10
RUN set -x \
&& apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* \
&& dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
&& wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
&& wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
&& export GNUPGHOME="$(mktemp -d)" \
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
&& gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
&& rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \
&& chmod +x /usr/local/bin/gosu \
&& gosu nobody true \
&& apt-get purge -y --auto-remove ca-certificates wget


# @BUGFIX
# It's important to install the full LibreOffice suite, otherwise OpenERP will
# display this error:
#
# - Unsupported URL <private:stream>: ""
#
RUN set -x \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
libreoffice \
&& rm -rf /var/lib/apt/lists/*


VOLUME ["/usr/local/share/fonts/"]

EXPOSE 8100

COPY ./entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]

CMD ["soffice-headless"]
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MIT License

Copyright (c) 2017 Luca Crea
https://github.com/lcrea/libreoffice-headless

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
45 changes: 45 additions & 0 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash

# Terminate the script if a command exits non-zero
set -e

# If none of these variables are set, uses default values.
: ${HOST_IN:=0}
: ${PORT_IN:=8100}
: ${LANG:='C.UTF-8'}

SOFFICE_ARGS=(
"--accept=socket,host=${HOST_IN},port=${PORT_IN},tcpNoDelay=1;urp"
"--headless"
"--invisible"
"--nodefault"
"--nofirststartwizard"
"--nolockcheck"
"--nologo"
"--norestore"
)

case "$1" in
-- | soffice-headless)
shift

# Force the update of the fonts list eventually provided by an external volume.
fc-cache -f

exec gosu libreoffice soffice "${SOFFICE_ARGS[@]}" "$@"
;;
-*)
# Force the update of the fonts list eventually provided by an external volume.
fc-cache -f

exec gosu libreoffice soffice "$@"
;;
debug)
echo "LibreOffice parameters:" ${SOFFICE_ARGS[@]}
exit 1
;;
*)
exec "$@"
esac

exit 1

0 comments on commit 2c7f88a

Please sign in to comment.