70 lines
2.3 KiB
Markdown
70 lines
2.3 KiB
Markdown
---
|
|
title: IT Overview
|
|
description: PNC Fish & More IT infrastructure — web server, digital signage, networking
|
|
published: true
|
|
date: 2026-04-12T00:00:00.000Z
|
|
tags: pncfish, it
|
|
editor: markdown
|
|
dateCreated: 2026-04-12T00:00:00.000Z
|
|
---
|
|
|
|
# IT Overview
|
|
|
|
## Infrastructure
|
|
|
|
| Resource | Details |
|
|
|----------|---------|
|
|
| Domain | `pncfishandmore.com` — managed via ISPConfig |
|
|
| Web server | Apache on NetGrimoire (self-hosted Docker, `web.yaml`) |
|
|
| Email | MailCow + MXRoute relay |
|
|
| DNS | ISPConfig + internal Technitium |
|
|
| Accounting | Bigcapital (Docker on docker5, `accounts.netgrimoire.com`) |
|
|
|
|
---
|
|
|
|
## Digital Signage System
|
|
|
|
Three FireTV devices display live price board slides on in-store TVs. Each TV runs ScreenLite kiosk app loading an Apache HTML page, which fetches a Google Slides PNG export and refreshes it every 5 minutes via JavaScript.
|
|
|
|
### TV Pages on Apache
|
|
|
|
| File | Slide Deck | Purpose |
|
|
|------|-----------|---------|
|
|
| `left.html` | Saltwater fish | Main fish price board |
|
|
| `right.html` | Secondary | Freshwater or secondary display |
|
|
| `inverts.html` | Invertebrates | Inverts price board |
|
|
|
|
### Google Slides Deck IDs
|
|
|
|
| Deck | Slide ID |
|
|
|------|---------|
|
|
| Left (saltwater fish) | `1S3j0K1QlWAtkjq73E73At3gz9vWp9vVr_yZswUHiyN8` |
|
|
| Right (secondary) | `1mWzgisxMQAFAhME9HXY_PEK0v_hIuQ4Md0PQS10ES8Q` |
|
|
| Inverts | `1nzunM4pQxqmW82_Ab0rrOsV4QuO8G5TVUDodplI_4tY` |
|
|
|
|
PNG export URL format: `https://docs.google.com/presentation/d/<ID>/export/png?sz=s1920`
|
|
|
|
Use `sz=s1920` for sharper text. If display looks soft, increase canvas size in Google Slides settings.
|
|
|
|
### Critical: ScreenLite Does Not Respond to Meta-Refresh
|
|
|
|
ScreenLite ignores `<meta http-equiv="refresh">`. All TV page refreshes use JavaScript `setInterval` image src swap only:
|
|
|
|
```javascript
|
|
setInterval(function() {
|
|
var img = document.getElementById('slide');
|
|
img.src = SLIDE_URL + '?t=' + Date.now();
|
|
}, 300000); // 300,000ms = 5 minutes
|
|
```
|
|
|
|
### Force Immediate Refresh
|
|
|
|
Force-stop ScreenLite on the FireTV and relaunch. It reloads the Apache URL and picks up the latest PNG immediately.
|
|
|
|
---
|
|
|
|
## Pending
|
|
|
|
- [ ] Square webhook → Apps Script → Google Sheets automation (designed, not deployed)
|
|
- [ ] "Push to Square" Apps Script button in Google Sheets
|
|
- [ ] Store network documentation (router, AP, FireTV connections)
|