ObjServer is the server that store any objects in effective way.
- REST API and Swagger UI
- Middlewares (cors, gzip and static)
- RethinkDB
- Docker Build and CI with Travis
Get the gobjserver repository
go get github.com/gobjserver/gobjserver
cd echo $GOPATH/src/github.com/gobjserver/gobjserver
And install dependencies
go get -u github.com/golang/dep/cmd/dep
dep ensure
Run all tests
go test ./...
Or run all tests with coverage
bash script/coverage.sh
Run main.go
go run main.go
# serve at localhost:9000Build and run native binary
bash script/Build.sh
./gobjserver.outBuild native binary for multiple platforms (darwin, windows and linux)
bash script/BuildMulti.sh
# enable production mode, default is false
env GBP_PROMODE=true
# choose RethinkDB host, default is :28015
env GBP_RETHINK_HOST=rethinkdbhost:28015
# choose database name, default is objectdb
env GBP_DB_NAME=dbnameBuild docker image
bash script/Dockerbuild.sh
Run docker container
docker run -d --name gobjserver -p 9000:9000 gobjserver/gobjserver
Run docker-compose
# GobjServer serves at localhost:8080
# RethinkDB Web UI serves at localhost:8000
docker-compose up -dPlease read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE file for details