Add rData analytics tracking and ecosystem footer link

- Inject rdata.online/collect.js tracking script in layout
- Add rData link to ecosystem footer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-02-18 18:57:08 +00:00
parent a9866f4a32
commit 5d516fb770
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,53 @@
services:
rvote:
build: .
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.rvote.rule=Host(`rvote.online`) || Host(`www.rvote.online`) || HostRegexp(`{subdomain:[a-z0-9-]+}.rvote.online`)"
- "traefik.http.routers.rvote.entrypoints=web"
- "traefik.http.services.rvote.loadbalancer.server.port=3000"
- "traefik.docker.network=traefik-public"
environment:
- DATABASE_URL=postgresql://rvote:${DB_PASSWORD}@postgres:5432/rvote
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=https://rvote.online
- RESEND_API_KEY=${RESEND_API_KEY}
- ROOT_DOMAIN=rvote.online
- NEXT_PUBLIC_ENCRYPTID_SERVER_URL=https://encryptid.jeffemmett.com
- ENCRYPTID_SERVER_URL=https://encryptid.jeffemmett.com
- NEXT_PUBLIC_ROOT_DOMAIN=rvote.online
- NEXT_PUBLIC_ENCRYPTID_SERVER_URL=https://encryptid.jeffemmett.com
- ENCRYPTID_SERVER_URL=https://encryptid.jeffemmett.com
networks:
- traefik-public
- rvote-internal
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=rvote
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=rvote
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- rvote-internal
healthcheck:
test: ["CMD-SHELL", "pg_isready -U rvote -d rvote"]
interval: 5s
timeout: 5s
retries: 5
networks:
traefik-public:
external: true
rvote-internal:
internal: true
volumes:
postgres_data:

View File

@ -28,6 +28,9 @@ export default function RootLayout({
}>) {
return (
<html lang="en" suppressHydrationWarning>
<head>
<script defer src="https://rdata.online/collect.js" data-website-id="320c5a22-9a36-4b25-b270-3c5d4033a532" />
</head>
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased min-h-screen bg-background`}
>
@ -49,6 +52,8 @@ export default function RootLayout({
<a href="https://rfiles.online" className="hover:text-foreground transition-colors">📁 rFiles</a>
<a href="https://rinbox.online" className="hover:text-foreground transition-colors"> rInbox</a>
<a href="https://rnetwork.online" className="hover:text-foreground transition-colors">🌐 rNetwork</a>
<a href="https://rbooks.online" className="hover:text-foreground transition-colors">📚 rBooks</a>
<a href="https://rdata.online" className="hover:text-foreground transition-colors">📊 rData</a>
</div>
<p className="text-center text-xs text-muted-foreground/60">
Part of the r* ecosystem collaborative tools for communities.

View File

@ -427,6 +427,7 @@ export default function HomePage() {
<a href="https://rfunds.online" className="hover:text-foreground transition-colors">rFunds</a>
<a href="https://rtrips.online" className="hover:text-foreground transition-colors">rTrips</a>
<a href="https://rcart.online" className="hover:text-foreground transition-colors">rCart</a>
<a href="https://rchoices.online" className="hover:text-foreground transition-colors">rChoices</a>
<a href="https://rwallet.online" className="hover:text-foreground transition-colors">rWallet</a>
<a href="https://rfiles.online" className="hover:text-foreground transition-colors">rFiles</a>
<a href="https://rtube.online" className="hover:text-foreground transition-colors">rTube</a>