Awesome Go

GooseForum

CategorySoftware Packages
SubcategoryOther Software
Stars145

Self-hosted forum platform built with Go, Vue, and Tailwind CSS

About GooseForum

GooseForum interface preview

GooseForum is an open-source forum for discussions, shared knowledge, and ongoing connections. From the first topic to managing content, members, and your community’s look, it gives you the tools to build and run a community on your own server.

Try the demo · Download the latest release

Features

  • Make room for discussion: Markdown topics, replies, categories, and drafts keep sharing and conversations organized.
  • Stay connected: Notifications, private messages, and user profiles help conversations continue beyond a topic.
  • Run your community: A built-in admin console with role and permission management.
  • Make it your own: Customize your logo, brand copy, and footer, then preview and publish light and dark themes in the theme workbench.
  • Join from any screen: Desktop and mobile layouts, smooth navigation, and accessible pages when JavaScript is unavailable.
  • Host it yourself: A single executable, SQLite by default, optional MySQL or PostgreSQL, and scheduled SQLite backups.

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.27+
  • 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/PostgreSQL, mail, backup, security, and site settings.

Admin Commands

./GooseForum migrate
./GooseForum set-user-admin <userId>
./GooseForum set-user-password <userId> <password>

Development

The backend uses Go, Gin, and GORM; the frontend uses React 19, TypeScript, Vite, and TailwindCSS. Server payloads drive navigation, with GoHTML fallback pages for SEO and access without JavaScript.

# Backend with hot reload
air

# Public site and admin console
cd resource && pnpm dev

The admin console is served by the React admin entry 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/               # React 19 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/                   # Configuration 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.

Frequently Asked Questions

What is GooseForum?

GooseForum is a Software Packages library for the Go programming language. Self-hosted forum platform built with Go, Vue, and Tailwind CSS

How do I install GooseForum?

Install GooseForum with the Go module system using `go get leancodebox/GooseForum`. Check the repository for the current installation instructions.

What category does GooseForum belong to?

GooseForum is listed under Software Packages, specifically Other Software.

← Back to Other Software