Overview¶
xlwings Lite is available as Docker image for self-hosting:
docker pull xlwings/xlwings-lite:1.0.0.0-47
It can be hosted on any service that runs Docker containers. As this is just a static file server, the container requires very little CPU and memory.
Note
While xlwings Lite is free via Excel’s add-in store, self-hosting requires a paid license, see Pricing.
Environment variables¶
The Docker image supports the following environment variables:
XLWINGS_LICENSE_KEY(required): your xlwings license keyXLWINGS_HOSTNAME(required): e.g.,xlwings-lite.mycompany.comXLWINGS_ENABLE_PYPI(optional, defaultfalse): Iftrue, allows installing packages directly from https://pypi.org/.XLWINGS_PYODIDE_BASE_URL(optional): base URL from which Pyodide and its packages are served. Defaults to the Pyodide distribution bundled with the Docker image. Set this to an external URL (e.g.,https://pyodide.company.com) to serve Pyodide from a separate host instead, see below.PORT(optional, default 8000): sets the port on which the application runs, e.g., 8000.
Setting up Pyodide for Production¶
The default Pyodide version is bundled with the container. Since the default Pyodide version will change over time, for a production setup, you should host Pyodide separately, following the instructions here:
https://github.com/xlwings/self-hosted-pyodide
This lets you serve multiple Pyodide environments – each with a specific Python version and a fixed set of packages. Workbooks pin to a specific environment, so upgrading the xlwings Lite container doesn’t break existing workbooks. Set XLWINGS_PYODIDE_BASE_URL to the URL where you are hosting it.
Hosting Solutions¶
Here are specific instructions for certain providers/hosting solutions: