How to install Cozy-stack?¶
Dependencies¶
- A reverse-proxy (nginx, caddy, haproxy, etc.)
- A SMTP server
- CouchDB 3
- Git
- Image Magick (and the Lato font, ghostscript et rsvg-convert)
To install CouchDB 3 through Docker, take a look at our Docker specific documentation.
Note: to generate thumbnails for heic/heif images, the version 6.9+ of Image Magick is required.
Install for self-hosting¶
We have started to write documentation on how to install cozy on your own server. We have guides for self hosting, either on Debian with precompiled binary packages of from sources on Ubuntu. Don’t hesitate to report issues with them. It will help us improve documentation.
Install for development / local tests¶
Install the binary¶
You can either download the binary or compile it.
Download an official release¶
You can download a cozy-stack
binary from our official releases:
https://github.com/cozy/cozy-stack/releases. It is a just a single executable
file (choose the one for your platform). Rename it to cozy-stack, give it the
executable bit (chmod +x cozy-stack
) and put it in your $PATH
.
cozy-stack version
should show you the version if every thing is right.
Compile the binary using go
¶
You can compile a cozy-stack
from the source.
First, you need to install go, version >=
1.21. With go
installed and configured, you can run the following commands:
git clone git@github.com:cozy/cozy-stack.git cd cozy-stack make
This will fetch the sources and build a binary in $GOPATH/bin/cozy-stack
.
Don’t forget to add your $GOPATH/bin
to your $PATH
at the end of your *rc
file so
that you can execute the binary without entering its full path.
export PATH="$(go env GOPATH)/bin:$PATH"
Troubleshooting¶
Check if you don’t have an alias “go” configurated in your *rc
file.
Add an instance for testing¶
You can configure your cozy-stack
using a configuration file or different
comand line arguments. Assuming CouchDB is installed and running on default port
5984
, you can start the server:
cozy-stack serve
And then create an instance for development:
make instance
The cozy-stack server listens on http://cozy.localhost:8080/ by default. See
cozy-stack --help
for more informations.
The above command will create an instance on http://cozy.localhost:8080/ with the
passphrase cozy
. By default this will create a storage/
entry in your current directory, containing all your instances by their URL. An instance “cozy.localhost:8080” will have its stored files in storage/cozy.localhost:8080/
. Installed apps will be found in the .cozy_apps/
directory of each instance.
Make sure the full stack is up with:
curl -H 'Accept: application/json' 'http://cozy.localhost:8080/status/'
You can then remove your test instance:
cozy-stack instances rm cozy.localhost:8080