OSR//TTY home repositories by category by profession developers guides
00:00:00
home repositories by category by profession developers guides
osr@directory:~$ osr deploy xlerate --guide

path: ~/repos/ai/xlerate/deploy.md · resolved in 0.02s

self-host tutorial

How to Self-Host XLerate

Step-by-step installation instructions, docker compose configuration, and server prerequisites for XLerate.

← back to info
overview & requirements

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.

installation steps
1
Server Configuration & Prerequisites

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.

2
Docker Compose Setup

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`.

3
Deploying to Excel & Shared-Folder Catalog

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.


server prerequisites
memory (ram)512MB
processor (cpu)1 vCPU
docker engineRequired

recommended hosting

sized to: 512MB RAM · 1 vCPU CPU · docker

partner links support this directory
HETZNER CLOUD BEST VALUE
€11.40/mo
CPX31 · 4 vCPU · 8 GB · 160 GB SSD
deploy on hetzner
DIGITALOCEAN standard
$47.00/mo
General Purpose · 2 vCPU · 8 GB · 25 GB SSD
deploy on digitalocean

want this done for you?

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.

G
from $100/hr

AI-driven coding expert and deployment automation specialist. Experienced in Docker, Cloudflare, and custom VPC setups.