mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-04 03:09:33 -06:00
Docker image for oCIS development with eos
Image is based on owncloud/eos-base from eos-stack
{{< hint info >}}
On MacOS do not mount a local folder to the /var/tmp/reva/ path. The fuse driver used by docker does not support extended attributes. See #182 for more details.
{{< /hint >}}
Build
docker build -t owncloud/eos-ocis-dev:latest .
Publish
docker push owncloud/eos-ocis-dev:latest
Maintainer
Disclaimer
Use only for development or testing. Setup is not secured nor tested.
oCIS development on eos
Setup oCIS
To build and run your local ocis code with default storage driver
docker run --rm -ti --name ocis -v $PWD:/ocis -p 9200:9200 owncloud/eos-ocis-dev
ocis will use the owncloud storage driver and store files in the container at /var/tmp/reva/data//files
Data is here: docker exec -it ocis ll /var/tmp/reva/
Alternative: With the docker-compose.yml file in ocis repo you can also start ocis via compose:
docker-compose up -d ocis
Now try to list the running services
docker-compose exec ocis ./bin/ocis list
Setup eos storage
- Start the eos cluster and ocis via the compose stack
docker-compose up -d
- Configure to use eos storage driver instead of default storage driver
- kill the home storage and data providers. we need to switch them to the eoshome driver:
docker-compose exec ocis ./bin/ocis kill reva-storage-home
docker-compose exec ocis ./bin/ocis kill reva-storage-home-data
- restart them with the eoshome driver and a new layout:
docker-compose exec -e REVA_STORAGE_EOS_LAYOUT="{{substr 0 1 .Username}}/{{.Username}}" -e REVA_STORAGE_HOME_DRIVER=eoshome -d ocis ./bin/ocis run reva-storage-home
docker-compose exec -e REVA_STORAGE_EOS_LAYOUT="{{substr 0 1 .Username}}/{{.Username}}" -e REVA_STORAGE_HOME_DATA_DRIVER=eoshome -d ocis ./bin/ocis run reva-storage-home-data
- restart the reva frontend with a new namespace (pointing to the eos storage provider) for the dav files endpoint
docker-compose exec ocis ./bin/ocis kill reva-frontend
docker-compose exec -e DAV_FILES_NAMESPACE="/eos/" -d ocis ./bin/ocis run reva-frontend
- login with
einstein / relativity, upload a file to einsteins home and verify the file is there using
docker-compose exec ocis eos ls -l /eos/dockertest/reva/users/e/einstein/
-rw-r--r-- 1 einstein users 10 Jul 1 15:24 newfile.txt