I replaced OnlyOffice with Collabora in my lab. I was able to extend their WOPI example to produce a Minimum Viable Product</a>. As it stands now, the software is feature complete for my use case. From there, I mount my data to my NFS storage and sync that folder with Dropbox. This lets me use a filebrowser for my currently in work documents. I can then access those contents from my reMarkable</a> using the Dropbox integration. Unfortunately, the reMarkable reads PDFs and not docx. To combat this problem, I have created a nightly script to convert the files to PDF. This is easily packaged into a container and run as a kubernetes cronjob. Since my NFS storage is also a persistent volume claim, I can reuse the same ReadWriteMany mount for both my Waffle WOPI server and the wrapper script to libreoffice.</p>
The Script</h2>
#</span></span>!/usr/bin/env bash</span>
</span></span>set</span></span> -euo pipefail</span>
</span>
</span>#</span></span> Defaults: mounted /data directory</span>
</span></span>input_dir</span>=</span>"</span>$</span>{</span></span>1</span></span>:-</span></span>/data</span>}</span></span>"</span></span></span>
</span>output_dir</span>=</span>"</span>$</span>{</span></span>2</span></span>:-</span></span>$</span>input_dir</span></span></span>}</span></span>"</span></span></span>
</span>
</span>#</span></span> Ensure output directory exists</span>
</span></span>mkdir</span></span> -</span>p</span> "</span>$</span>output_dir</span></span>"</span></span></span>
</span>
</span>echo</span></span> "</span>Converting DOCX files from: $</span>input_dir</span></span>"</span></span></span>
</span>echo</span></span> "</span>Saving PDFs to: $</span>output_dir</span></span>"</span></span></span>
</span>
</span>#</span></span> Convert all .docx → .pdf</span>
</span></span>shopt</span></span> -s nullglob</span>
</span>files</span>=</span>(</span>"</span>$</span>input_dir</span></span>"</span></span>/*</span>.docx)</span>
</span>
</span>if</span> [</span> $</span>{</span></span>#</span></span>files[</span>@</span>]</span></span></span>}</span></span> -</span>eq</span> 0 ]</span></span>;</span> then</span>
</span> echo</span></span> "</span>No .docx files found in $</span>input_dir</span></span>"</span></span></span>
</span> exit</span></span> 0</span>
</span>fi</span>
</span>
</span>soffice</span></span> --</span>headless</span> --</span>convert-to</span> pdf:writer_pdf_Export --</span>outdir</span> "</span>$</span>output_dir</span></span>"</span></span> "</span>$</span>{</span></span>files[</span>@</span>]</span></span></span>}</span></span>"</span></span></span>
</span>echo</span></span> "</span>Conversion complete."</span></span></span>
</span></code></pre>
The Dockerfile</h2>
FROM</span> debian:bullseye-slim</span>
</span>
</span>#</span> Install LibreOffice (soffice)
</span></span>RUN </span>apt-get update && apt-get install -y libreoffice && rm -rf /var/lib/apt/lists/*
</span>
</span>#</span> Working directory for mounted data
</span></span>WORKDIR </span>/data
</span>
</span>#</span> Copy script
</span></span>COPY</span> convert.sh /usr/local/bin/convert.sh
</span>RUN </span>chmod +x /usr/local/bin/convert.sh
</span>
</span>#</span> Default entrypoint
</span></span>ENTRYPOINT </span>["</span>/usr/local/bin/convert.sh"</span></span>]
</span></code></pre>
The Cronjob</h2>
apiVersion</span></span>:</span> batch/v1</span>
</span>kind</span></span>:</span> CronJob</span>
</span>metadata</span></span>:</span>
</span> name</span></span>:</span> remarkable-dropbox-helper</span>
</span>
This page cannot be shown here. You can still read it on the original site — the toolbar below keeps your place in the directory.
I replaced OnlyOffice with Collabora in my lab. I was able to extend their WOPI example to produce a Minimum Viable Product . As it stands now, the software is feature complete for my use case. From there, I mount my data to my NFS storage and sync that folder with Dropbox. This lets me use a filebrowser for my currently in work documents. I can then access those contents from my reMarkable using…