GooseForum is a modern technical community platform built with Go + Vue 3 + TailwindCSS technology stack. It provides simple deployment and rich community features, designed as a lightweight forum system specifically for technical developers.
🌐 Live Demo: GooseForum
- User Registration/Login - Email activation support
- Permission Management - Role-based access control system
- User Center - Profile management, avatar upload
- Points System - Check-in, posting, reply point rewards
- Admin Panel - Complete backend management functionality
- Article Publishing - Markdown editor support
- Comment System - Multi-level comment replies
- Article Categories - Flexible category management
- Tag System - Article tagging management
- Content Moderation - Admin content review functionality
- Single File Deployment - Single executable file after compilation
- SQLite Support - Default SQLite, MySQL support
- Auto Backup - Scheduled database backup
- Responsive Design - Perfect mobile support
- Theme Switching - Light/dark theme support
- SEO Friendly - Complete SEO optimization
- Download the pre-compiled version for your system from GitHub Releases
- Extract and start:
# Extract the downloaded file tar -zxvf GooseForum_Linux_x86_64.tar.gz # Grant execute permission chmod +x ./GooseForum # Start service ./GooseForum serve# Install GoReleaser go install github.com/goreleaser/goreleaser@latest # Build for all platforms goreleaser build --snapshot --clean # Build for current platform goreleaser build --snapshot --clean --single-target- Visit
http://localhost:5234to start using
💡 Tip: After first startup, the first registered account will automatically become an administrator
- Go 1.23+
- Node.js 18+
- npm or yarn
# Clone project git clone https://github.com/leancodebox/GooseForum.git cd GooseForum # Build frontend resources cd resource npm install npm run build cd .. # Build backend go mod tidy go build -ldflags="-w -s" . # Start service ./GooseForum serveGooseForum will automatically create a config.toml configuration file on startup. Main configuration items:
[server] port = 5234 # Service port url = "http://localhost" # Site URL [db.default] connection = "sqlite" # Database type (sqlite/mysql) path = "./storage/database/sqlite.db" # SQLite database path📖 Detailed Configuration: Configuration Documentation
- Go 1.23+ - Main development language
- Gin - Web framework
- GORM - ORM framework
- SQLite/MySQL - Database support
- JWT - Authentication
- Viper - Configuration management
- Cobra - Command line tool
- Vue 3 - Frontend framework (Composition API)
- Vite - Build tool
- TailwindCSS 4 - CSS framework
- DaisyUI - UI component library
- TypeScript - Type support
- Pinia - State management
- Vue Router - Route management
- Air - Hot reload development
- GoReleaser - Automated build and release
- Vitest - Frontend testing
GooseForum/ ├── app/ # Backend application code │ ├── bundles/ # Utility packages │ ├── console/ # Command line tools │ ├── http/ # HTTP controllers and routes │ ├── models/ # Data models │ └── service/ # Business services ├── resource/ # Frontend resources │ ├── src/ # Vue source code │ ├── static/ # Static assets │ └── templates/ # Go templates ├── docs/ # Project documentation ├── main.go # Program entry point └── config.toml # Configuration file # Reset admin password ./GooseForum user:manage # Set user email ./GooseForum user:set-email- Automatic scheduled SQLite database backup
- Configurable backup frequency and retention count
- Backup files stored in
./storage/databasebackup/directory
# Install Air hot reload tool go install github.com/cosmtrek/air@latest # Start development mode air # Frontend development mode cd resource npm run dev- Use reverse proxy (Nginx/Apache)
- Configure HTTPS certificates
- Set up scheduled backups
- Monitor log files
# Dockerfile example FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /root/ COPY GooseForum . CMD ["./GooseForum", "serve"]- Fork this project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Create a Pull Request
This project is open source under the MIT License.
- Configuration Documentation - Detailed configuration options
Thanks to all developers who have contributed to the GooseForum project!
If this project helps you, please give us a ⭐️
Made with ❤️ by LeanCodeBox