Sonic [ˈsɒnɪk], Sonic is a Go Blogging Platform. Simple and Powerful.
Telegram Channel
English | 中文
📖 Introduction
Sonic means as fast as sound speed. Like its name, sonic is a high-performance blog system developed using golang.
Thanks to the Halo project team, who inspired this project. The front-end is a project fork from Halo.
🚀 Features:
- Support multiple types of databases: SQLite、MySQL(TODO: PostgreSQL)
- Small: The installation file is only 10mb size
- High-performance: Post details page can withstand 2500 QPS(Enviroment: Intel Xeon Platinum 8260 4C 8G ,SQLite3)
- Support changing theme
- Support Linux、Windows、Mac OS. And Support x86、x64、Arm、Arm64、MIPS
- Object storage(MINIO、Google Cloud、AWS、AliYun)
🎊 Preview
🧰 Install
Download the latest installation package
Please pay attention to the operating os and instruction set and the version
wget https://github.com/go-sonic/sonic/releases/download/v1.0.3/sonic-linux-amd64.zip -O sonic.zip
Decompression
unzip -d sonic sonic.zip
Launch
cd sonic
./sonic -config conf/config.yaml
Initialization
Open http://ip:port/admin#install
Next, you can access sonic through the browser.
The URL of the admin console is http://ip:port/admin
The default port is 8080.
🔨️ Build
1. Pull Project
git clone --recursive --depth 1 https://github.com/go-sonic/sonic
2. Run
cd sonic
go run main.go
To compile this package on Windows, you must have the gcc compiler installed,for example the TDM-GCC Toolchain can be found (here).
🚀 Done! Your project is now compiled and ready to use.
Docker
See: https://hub.docker.com/r/gosonic/sonic
Theme ecology
TODO
- i18n
- PostgreSQL
- Better error handling
- Plugin(base on Wasm)
- Use new web framework(Hertz)
Contributing
Feel free to dive in! Open an issue or submit PRs.
Sonic follows the Contributor Covenant Code of Conduct.
Contributors
This project exists thanks to all the people who contribute.
Special thanks to Evan (evanzhao@88.com), who designed the logo.
📄 License
Source code in sonic
is available under the MIT License.