Cozy Cloud
What is Cozy?
Cozy is a platform that brings all your web services in the
same private space. With it, your web apps and your devices can share data
easily, providing you with a new experience. You can install Cozy on your own
hardware where no one profiles you.
And what about this repository?
This repository contains thoughts for a new version of Cozy Cloud which aims
to be simpler for hosting thousands of instances. It should also bring
multi-users for self-hosted and improve many things, starting with security
and reliability. You can find:
Feel free to open an issue
for questions and suggestions.
There are some useful commands to know in order to play with the go code:
go get -u github.com/cozy/cozy-stack
cd $GOPATH/src/github.com/cozy/cozy-stack
go get -t -u ./...
go test -v ./...
go run main.go serve
godoc -http=:6060
The swagger description of the REST API can be displayed with those commands:
go get -u github.com/go-swagger/go-swagger/cmd/swagger
git clone git@github.com:swagger-api/swagger-ui.git
mkdir -p swagger-ui/dist/specs
swagger generate spec -o swagger-ui/dist/specs/swagger.json
go get github.com/mholt/caddy/caddy
cd swagger-ui/dist && caddy
xdg-open http://localhost:2015/index.html?url=http://localhost:2015/specs/swagger.json
Requirements
With Docker
Building a cozy-stack
binary
To build a cozy-stack
binary with Docker using the local source code, run:
docker run -it --rm --name cozy-stack \
-v $(pwd):/go/src/github.com/cozy/cozy-stack \
-v $(pwd):/go/bin \
golang:1.7.1 \
go get -v github.com/cozy/cozy-stack
The cozy-stack
binary is now present in the current folder. Run it with:
./cozy-stack serve
Running a CouchDB instance
This will run a new instance of CouchDB in single
mode (no cluster) and in admin-party-mode
(no user).
$ docker run -d \
--name cozy-stack-couch \
-p 5984:5984 \
-v $HOME/.cozy-stack-couch:/opt/couchdb/data \
klaemo/couchdb:2.0.0
$ curl -X PUT http://127.0.0.1:5984/{_users,_replicator,_global_changes}
Verify your installation at: http://127.0.0.1:5984/_utils/#verifyinstall
How to contribute?
We are eager for contributions and very happy when we receive them! It can
code, of course, but it can also take other forms. The workflow is explained
in the contributing guide.
You can reach the Cozy Community by:
- Chatting with us on IRC #cozycloud on irc.freenode.net
- Posting on our Forum
- Posting issues on the Github repos
- Mentioning us on Twitter
License
Cozy is developed by Cozy Cloud and distributed under the AGPL v3 license.