path: ~/repos/ai/xlerate/deploy.md · resolved in 0.02s
How to Self-Host XLerate
Step-by-step installation instructions, docker compose configuration, and server prerequisites for XLerate.
This guide will walk you through self-hosting the XLerate Excel add-in by serving its manifest and web resources using Docker and Caddy. This setup allows you to host the add-in on your own infrastructure, providing full control over its distribution within your organization.
Prerequisites
- A server running a Linux distribution (e.g., Ubuntu, CentOS)
- Docker and Docker Compose installed on your server
- A domain name (e.g.,
xlerate.yourdomain.com) pointing to your server's IP address - Basic knowledge of Linux command line
First, ensure you have the XLerate add-in files ready in a specific directory structure on your server. After cloning the repository, your directory should look like this (for example, under /opt/xlerate/):
/opt/xlerate/
├── docker-compose.yml
├── Caddyfile
└── html/
├── manifest.xml (the root manifest file, MODIFIED to point to your domain)
└── XLerate/ (the folder containing XLerate.html, XLerate.js, etc.)
├── XLerate.html
├── XLerate.js
├── XLerate.css
└── docs/
└── images/
└── XLerate.png
Docker Compose Configuration:
Create the docker-compose.yml file in /opt/xlerate/:
version: '3.8'
services:
caddy:
image: caddy:latest
container_name: xlerate_caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./html:/srv # Mount our html content to /srv within the container
- caddy_data:/data
- caddy_config:/config
environment:
DOMAIN: xlerate.yourdomain.com # IMPORTANT: Replace with your actual domain
restart: unless-stopped
networks:
- xlerate-network
volumes:
caddy_data:
caddy_config:
networks:
xlerate-network:
driver: bridge
Caddyfile Configuration for Automatic HTTPS:
Create the Caddyfile in /opt/xlerate/:
xlerate.yourdomain.com { # IMPORTANT: Replace with your actual domain
root * /srv
file_server
# Enable gzip compression
encode gzip
# Log requests
log {
output file /var/log/caddy/access.log
}
}
This setup will serve the contents of the ./html directory (which includes manifest.xml and the XLerate folder) at the root of your domain xlerate.yourdomain.com, with Caddy automatically handling HTTPS certificate issuance and renewal.
Ensure you have a server (e.g., Ubuntu 22.04 LTS) with at least 512MB RAM and 1 vCPU. Update your system and install Docker and Docker Compose by following the official Docker documentation. Verify installations: `docker --version` and `docker compose --version`. Configure your DNS provider to point `xlerate.yourdomain.com` (replace with your chosen domain) to your server's public IP address. Create a directory for your XLerate deployment: `mkdir -p /opt/xlerate/html`. Clone the XLerate repository: `git clone https://github.com/omegarhovega/XLerate.git /tmp/xlerate_repo`. Copy the necessary files: `cp /tmp/xlerate_repo/manifest.xml /opt/xlerate/html/` and `cp -r /tmp/xlerate_repo/XLerate /opt/xlerate/html/`. Crucially, you must edit `/opt/xlerate/html/manifest.xml`. Open it and change the `<SourceLocation DefaultValue="https://omegarhovega.github.io/XLerate/XLerate/XLerate.html"/>` to `<SourceLocation DefaultValue="https://xlerate.yourdomain.com/XLerate/XLerate.html"/>` (replace `xlerate.yourdomain.com` with your domain). You can use `sed -i 's|https://omegarhovega.github.io/XLerate|https://xlerate.yourdomain.com|g' /opt/xlerate/html/manifest.xml` for this.
Navigate to `/opt/xlerate/` and create a `docker-compose.yml` file with the content provided in the `body_md` section above. Also, create a `Caddyfile` in the same directory, filling in your domain name. Remember to replace `xlerate.yourdomain.com` with your actual domain in both files. Once configured, start the service: `docker compose up -d`. Verify the Caddy container is running: `docker ps`. You should see `xlerate_caddy` listening on ports 80 and 443. Check Caddy logs for any errors: `docker compose logs caddy`.
Access your manifest file via your browser at `https://xlerate.yourdomain.com/manifest.xml` (ensure it downloads or displays correctly). To install in Excel Desktop, you'll set up a shared-folder add-in catalog. Create a local folder on your machine (e.g., `C:\ExcelAddins`). Download the `manifest.xml` file from `https://xlerate.yourdomain.com/manifest.xml` and place it into this local folder. In Excel, go to `File > Options > Trust Center > Trust Center Settings > Trusted Add-in Catalogs`. Add the local folder path (e.g., `C:\ExcelAddins`) as a 'Catalog URL'. Restart Excel. Go to `Insert > Add-ins > My Add-ins`, select 'Shared Folder', and you should find 'XLerate' listed. Click 'Add' to install it, and the XLerate ribbon tab should appear.
sized to: 512MB RAM · 1 vCPU CPU · docker
hire vetted engineers to configure this server
Don't want to deal with command lines, DNS records, or Docker configs? Hire a vetted developer to set up XLerate on your server.
AI-driven coding expert and deployment automation specialist. Experienced in Docker, Cloudflare, and custom VPC setups.