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:
parent
a9866f4a32
commit
5d516fb770
|
|
@ -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:
|
||||||
|
|
@ -28,6 +28,9 @@ export default function RootLayout({
|
||||||
}>) {
|
}>) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
|
<head>
|
||||||
|
<script defer src="https://rdata.online/collect.js" data-website-id="320c5a22-9a36-4b25-b270-3c5d4033a532" />
|
||||||
|
</head>
|
||||||
<body
|
<body
|
||||||
className={`${geistSans.variable} ${geistMono.variable} antialiased min-h-screen bg-background`}
|
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://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://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://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>
|
</div>
|
||||||
<p className="text-center text-xs text-muted-foreground/60">
|
<p className="text-center text-xs text-muted-foreground/60">
|
||||||
Part of the r* ecosystem — collaborative tools for communities.
|
Part of the r* ecosystem — collaborative tools for communities.
|
||||||
|
|
|
||||||
|
|
@ -427,6 +427,7 @@ export default function HomePage() {
|
||||||
<a href="https://rfunds.online" className="hover:text-foreground transition-colors">rFunds</a>
|
<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://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://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://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://rfiles.online" className="hover:text-foreground transition-colors">rFiles</a>
|
||||||
<a href="https://rtube.online" className="hover:text-foreground transition-colors">rTube</a>
|
<a href="https://rtube.online" className="hover:text-foreground transition-colors">rTube</a>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue