efkbook / blog-sample

a kind of blog implementation written in Go integrated with fluentd and Elasticsearch
MIT License
58 stars 29 forks source link

blog sample

Build Status

A kind of blog for presentating EFK stack features.

This repository includes following.

Prerequisite

For local development,

Using Docker: make run

If you using docker, it's easy to work with Elastic stack and fluentd!

set GOPATH variable

# export GOPATH=/root/go
# make directory
mkdir /root/go
mkdir -p /root/go/src/github.com/efkbook
# change directory
cd /root/go/src/github.com/efkbook
# git clone
git clone https://github.com/efkbook/blog-sample
# database migration
make migrate/up
# build binary
make app/build
# running docker containers by `docker-compose up -d`
make run

At the first time, docker-compose start creating containers. After starting containers, it's time to access Elasticsearch.

$ curl http://localhost:9200
{
  "name" : "o2r0AqN",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "KoAk04RXRbSx3wgLiB_LtA",
  "version" : {
    "number" : "5.4.3",
    "build_hash" : "eed30a8",
    "build_date" : "2017-06-22T00:34:03.743Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.1"
  },
  "tagline" : "You Know, for Search"
}

It works! And your Kibana console is also available on http://localhost:5601. If Elasticsearch is accecible, blog application can start up.

For contributor

To start a blog application locally, you just go run

go run main.go

To add some external packages, use godep. If you want to use Elasticsearch and/or Fluentd on docker container, you can specify each host via flag. When blog app running on container, Elasticsearch and Fluentd are accessed by using docker links.

Acknowledgement

UI Template is based on BlackrockDigital/startbootstrap-blog-post.

LICENSE

MIT

Author

Kenta Suzuki (a.k.a. suzuken)