Blog software written in Golang and designed to run on AppEngine Standard.
The goal is to use as many native AppEngine features as possible to keep things simple, lightweight and cheap. Not being portable is an explicit choice (although the data can always be exported). Sane defaults are used for as much out-of-the-box-ness as possible.
- Multiple post versions
- Post drafting and preview
- Image upload and library
- Categories
- Multiple authors
- Post import and export
- Atom feed
The following instructions are tested and working on Ubuntu Linux, but there's no reason the program shouldn't run on macOS or Windows.
- Install the Go tools
- Install the Google Cloud SDK
- Install NodeJS and NPM
- Install Gulp globally
sudo npm install -g gulp
- Clone the repo
git clone https://www.github.com/initialpuppet/goblogengine.git
cd goblogengine
- Install the Node packages
npm install
- Run the Gulp build
gulp
- Get the dependencies
cd main
go get
cd ..
- Authorise the dev env against live Google Cloud services:
gcloud auth application-default login
- Run the development webserver
./run.sh
- Browse to http://localhost:8080/
The Cloud SDK enables single-command deployment assuming that the correct configuration is selected. Review the documentation for full details.
By default all static files under the main package, as well as all required Go files are deployed. Using the app.yaml file it is possible to specify files to be ignored for deployment. The supplied configuration ignores the assets
directory and any Markdown files in addition to the files ignored by default.
To deploy: ./deploy.sh