Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Codenvy IDE (Che) requires at least 3G of RAM to manage the full DSpace Code base.  Therefore, it is impossible to manage code and run DSpace in a free tier workspace.

Try

...

out Codenvy Using this Pre-Built Factory

The following link to a Codenvy factory will build a 3GB workspace running the latest DSpace 6x published Docker Image.

...

https://github.com/DSpace-Labs/DSpace-Docker-Images/blob/codenvy-refactor/add-ons/codenvy-scripts/setupCodenvy.sh

Configuring a Codenvy Workspace Yourself

Create a multi-machine stack that contains the desired images plus add an additional machine (eclipse/ubuntu_jdk8) to run the IDE.

Here is a docker compose configuration that I wish to replicate

Code Block
languageyml
titleDocker Compose Configuration to Port to Codenvy
services:
  dspacedb:
    image: dspace/dspace-postgres-pgcrypto
    volumes:
      - pgdata:/pgdata

  dspace:
    image: "dspace/dspace:dspace-6_x"
    ports:
      - 8080:8080
    volumes:
      - "assetstore:/dspace/assetstore"
      - "solr:/dspace/solr"
    depends_on:
      - dspacedb

The syntax is a subset of what is available to docker-compose. The flattening of the YAML makes it difficult to edit. 

Code Block
languageyml
titleCodenvy Stack Recipe for DSpace
"recipe": {
  "type": "compose",
  "content": "services:\n dev-machine:\n  image: eclipse/ubuntu_jdk8\n dspacedb:\n  image: dspace/dspace-postgres-pgcrypto\n  mem_limit: 536870912\n dspace:\n  image: 'dspace/dspace:dspace-6_x'\n  mem_limit: 2147483648\n",
  "contentType": "application/x-yaml"
},

Codenvy provides editing tools to add "machines" to a "stack configuration".

Image Added

Explicitly create a "server" for the container port to expose with a public URL.

Code Block
languageyml
titleCodenvy "Server" Configuration within a Machine
 "dspace": {
    "attributes": {
      "memoryLimitBytes": "2684354560"
    },
    "servers": {
      "dspace": {
        "properties": {},
        "protocol": "http",
        "port": "8080"
      }
    },

After the workspace starts, the public address for this "server" will be exposed on the workspace configration screen.

enter image description hereImage Added