Self-Hosting
TrackVision product websites are static HTML — they can be served from any web server without a runtime or database. Download the ZIP (see Download Site) and deploy anywhere.
Option 1: Netlify (Drag & Drop)
The fastest option for non-technical users:
- Download the site ZIP
- Go to netlify.com and log in
- Drag the ZIP file onto the Netlify dashboard
- Netlify extracts and deploys it automatically
- You get a
*.netlify.appURL immediately
To add a custom domain, follow Netlify's domain settings after deploying.
Option 2: Vercel
- Download the site ZIP and unzip it
- Install the Vercel CLI:
npm install -g vercel - From the unzipped directory, run
vercel - Follow the prompts to deploy
unzip my-site.zip -d my-site
cd my-site
vercel
Option 3: Nginx on Your Own Server
For full control, serve the static files with nginx.
Unzip the site:
unzip my-site.zip -d /var/www/products
Create a nginx server block:
server {
listen 80;
listen [::]:80;
server_name products.acme.com;
# Redirect HTTP to HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name products.acme.com;
ssl_certificate /etc/letsencrypt/live/products.acme.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/products.acme.com/privkey.pem;
root /var/www/products;
index index.html;
# SPA-style routing: serve index.html for missing files
location / {
try_files $uri $uri/ $uri.html /index.html;
}
# Cache static assets
location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
Get a TLS certificate with Certbot:
certbot --nginx -d products.acme.com
Option 4: AWS S3 + CloudFront
- Download and unzip the site
- Upload all files to an S3 bucket with static website hosting enabled
- Set the bucket's index document to
index.html - Create a CloudFront distribution pointing to the S3 bucket
- Add your custom domain and a certificate from ACM
# Upload to S3
aws s3 sync ./my-site s3://my-bucket-name --delete
# Invalidate CloudFront cache after update
aws cloudfront create-invalidation \
--distribution-id YOUR_DIST_ID \
--paths "/*"
Keeping Your Site Up to Date
TrackVision updates your site whenever you add products, update DPP data, or change the design. To keep your self-hosted copy current, automate the download and redeploy on a schedule:
#!/bin/bash
# Re-download and redeploy every night at 2am (cron: 0 2 * * *)
curl "https://api.acme.trackvision.ai/v1/sites/$SITE_ID/download" \
-H "Authorization: Bearer $TV_API_KEY" \
-o site.zip
unzip -o site.zip -d /var/www/products
rm site.zip
nginx -s reload