README.md
June 18, 2026 Β· View on GitHub

Quick Start
Download and Run
Download the latest prebuilt binary from GitHub Releases, then start it:
tar -zxvf GooseForum_Linux_x86_64.tar.gz
chmod +x ./GooseForum
./GooseForum serve
Open http://localhost:5234. The first registered user automatically becomes the administrator.
Build from Source
Requirements:
- Go 1.26+
- Node.js 18+
- pnpm
git clone https://github.com/leancodebox/GooseForum.git
cd GooseForum
cd resource && pnpm install && pnpm build && cd ..
go mod tidy
go build -ldflags="-w -s" .
./GooseForum serve
Configuration
GooseForum creates config.toml on first startup. The default database is SQLite.
[app]
env = "production"
[server]
port = 5234
url = "http://localhost"
[db.default]
connection = "sqlite"
path = "./storage/database/sqlite.db"
See configuration documentation for MySQL, mail, backup, security, and site settings.
Admin Commands
./GooseForum set-user-admin <userId>
./GooseForum set-user-email <userId> <email>
./GooseForum set-user-password <userId> <password>
What Is GooseForum?
GooseForum is a technical community platform built with Go, Gin, GORM, Vue 3, TypeScript, Vite, and TailwindCSS. It ships as a single executable, supports SQLite/MySQL, and provides a payload-driven SPA experience with server-rendered fallback pages for SEO and no-js access.
Live demo: gooseforum.online
Features
- Markdown topics, replies, categories, notifications, chat, drafts, and user profiles.
- Role and permission management with a full admin console.
- Responsive public UI for desktop and mobile.
- Theme workbench for light/dark theme preview and publishing.
- SQLite by default, optional MySQL, scheduled backups.
- Payload-driven navigation with no-js GoHTML templates.
- Brand customization for logo, text, footer, and site assets.
Development
# Backend with hot reload
air
# Public site and admin console
cd resource && pnpm dev
The admin console is served by the same Vue app under /admin; it does not require a separate frontend service.
Project Structure
GooseForum/
βββ app/ # Backend code
β βββ console/ # CLI commands
β βββ http/ # Controllers, middleware, routes
β βββ models/ # GORM models
β βββ service/ # Business services
βββ resource/ # Vue 3 frontend, templates, static assets
β βββ src/site/ # Public site
β βββ src/admin/ # Admin console
β βββ src/runtime/ # Payload runtime and shared browser helpers
β βββ templates/ # GoHTML fallback templates
βββ docs/ # Documentation
βββ main.go
βββ config.toml
Deployment Notes
For production, place GooseForum behind a reverse proxy such as Nginx or Caddy, enable HTTPS, and configure database backups.
Minimal container image:
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY GooseForum .
CMD ["./GooseForum", "serve"]
Documentation
License
MIT License. See LICENSE.