Skip to content

Repository files navigation

MiLog

MiLog is a blogging program written in GoLang, based on Beego framework.

A complete demo of MiLog is http://migege.com.

MiLog now uses Beego v2.3.10 and bcrypt passwords. Before starting this version against an existing database, back it up and apply migrations/20260715_beego_v2.sql. Legacy password digests are irreversible; generate and install a new bcrypt hash for every account:

printf '%s\n' 'a-new-password-of-at-least-12-bytes' | ./milog hash-password

Production deployments must set runmode = prod, provide a unique MILOG_XSRF_KEY of at least 32 bytes, serve the application over HTTPS, and provide database settings through MILOG_DB_HOST, MILOG_DB_PORT, MILOG_DB_NAME, MILOG_DB_USER, MILOG_DB_PASSWORD, and MILOG_DB_CHARSET (or the corresponding Beego config keys). The checked-in development config disables XSRF because Beego v2 issues Secure XSRF cookies that require HTTPS; it must never be used as production config.

Build

vm0 is the only supported packaging environment. The helper copies the current source tree to an isolated directory on vm0 with gt, then runs the build through Docker Compose. Go and Docker are not required locally.

./scripts/vm0-build.sh test
./scripts/vm0-build.sh coverage
./scripts/vm0-build.sh race
./scripts/vm0-build.sh debug
VERSION=1.2.0 SOURCE_DATE_EPOCH=$(git log -1 --format=%ct) \
  ./scripts/vm0-build.sh release
./scripts/vm0-build.sh image

Debug and release artifacts are copied back to build/debug and build/release. The release build is static, trimmed, and accompanied by a reproducible archive and SHA-256 checksums.

Tests run serially against an isolated MariaDB tmpfs on vm0. The coverage target writes its profile, function report, and HTML report to build/coverage/ and enforces the project-wide 80% minimum.

About

MiLog is a blogging program written in GoLang.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages