Skip to content

feat(GoatCounter): Add GoatCounter template - #1096

Merged
Siumauricio merged 2 commits into
Dokploy:canaryfrom
sadiqAlAboudi:goatcounter
Aug 25, 2026
Merged

feat(GoatCounter): Add GoatCounter template#1096
Siumauricio merged 2 commits into
Dokploy:canaryfrom
sadiqAlAboudi:goatcounter

Conversation

@sadiqAlAboudi

@sadiqAlAboudi sadiqAlAboudi commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

What is this PR about?

New PR of GoatCounter

The template provides a zero-touch deployment of GoatCounter 2.7 with PostgreSQL 18, including:

  • Persistent PostgreSQL storage using a named volume
  • Automatically generated database password
  • PostgreSQL healthcheck
  • Automatic domain and HTTPS configuration through Dokploy

Checklist

Before submitting this PR, please make sure that:

Screenshots or Videos

image

@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. template New template request labels Aug 20, 2026
@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview 741ca35

@Siumauricio

Copy link
Copy Markdown
Contributor

Tested with a real deploy on a Dokploy instance (exact template from this branch merged with current canary). Zero-touch as described: no manual db create site step needed.

Image

  • arp242/goatcounter:2.7 is the official image (README: "GoatCounter is available on DockerHub at arp242/goatcounter"); same digest as 2.7.0, pushed 2025-12-15 = upstream release v2.7.0. Manifest pulls anonymously (200).
  • GOATCOUNTER_DB / GOATCOUNTER_LISTEN env vars and serve -automigrate are the documented Docker configuration; with -listen on :8080 GoatCounter defaults to plain HTTP behind the proxy, so no -tls flag is needed.
  • postgres:18-alpine with the volume on /var/lib/postgresql (not /data) — correct for PG 18.

Validators: generate-meta.js --check ✅ (519 templates), validate-docker-compose.ts ✅, validate-template.ts ✅. ${DB_PASSWORD:?…} interpolation and env = [...] form both worked in Dokploy.

Deploy

  • postgres-1: healthy (PostgreSQL 18.6 … ready to accept connections). goatcounter-1: running, RestartCount 0; migrations applied, log says No sites yet; access the web interface or use the CLI to create one.
  • https = true was honored: Dokploy created the domain as https://….
  • Via the domain: GET / → 200 «Create your first site and user» wizard. Submitted it (email/password/vhost) → 303 → dashboard Help | Settings | admin@ | Sign out … No data received, i.e. site + user created and logged in. /count.js → 200, /count?p=/test → 200.

LGTM.

@Siumauricio
Siumauricio merged commit 73d257e into Dokploy:canary Aug 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S This PR changes 10-29 lines, ignoring generated files. template New template request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants