Sign inSign up

unixelias/docker-dspace

By unixelias

•Updated over 7 years ago

Deployment of Dspace

Image
5

5.8K

unixelias/docker-dspace repository overview

⁠Give me a beer ;-)

⁠Docker Status by tag

⁠Build Status

Build Status

⁠What is DSpace?

logo

DSpace⁠ is an open source repository software package typically used for creating open access repositories for scholarly and/or published digital content. While DSpace shares some feature overlap with content management systems and document management systems, the DSpace repository software serves a specific need as a digital archives system, focused on the long-term storage, access and preservation of digital content.

This image is based on official Ubuntu image⁠ and use Tomcat⁠ to run DSpace as defined in the installation guide⁠.

⁠Usage

DSpace use PostgreSQL⁠ as database.

We might use an external database or create a PostgreSQL container linked to the DSpace container.

⁠Postgres as a container

We have a custom PostgreSQL Docker Image⁠ used to change default locale of PostgreSQL to pt-BR. If you will use the default english language you may not need this, but it can be useful if you need a custom language. The source is avaliable at docker/postgres/Dockerfile

First, we have to create the PostgreSQL container:

docker run -d --name dspace_db -p 5432:5432 postgres

then run DSpace linking the PostgreSQL container:

docker run -d --link dspace_db:postgres -p 8080:8080 unixelias/docker-dspace

By default the database schema is created with the name dspace for a user dspace and password dspace, but it's possible to override this default settings :

docker run -d --link dspace_db:postgres \
        -e POSTGRES_SCHEMA=my_dspace \
        -e POSTGRES_USER=my_user \
        -e POSTGRES_PASSWORD=my_password \
        -p 8080:8080 unixelias/docker-dspace

We might also used the Docker compose project in the sample directory.

⁠External database

When you use an external Postgres, you have to set some environment variables :

  • POSTGRES_DB_HOST (required): The server host name or ip(postgres by default).
  • POSTGRES_DB_PORT (optional): The server port (5432 by default)
  • POSTGRES_SCHEMA (optional): The database schema (dspace by default)
  • POSTGRES_USER (optional): The user used by DSpace (dspace by default)
  • POSTGRES_PASSWORD (optional): The password of the user used by DSpace (dspace by default)
  • POSTGRES_ADMIN_USER (optional): The admin user creating the Database and the user (postgres by default)
  • POSTGRES_ADMIN_PASSWORD (optional): The password of the admin user
docker run -d  \
        -e POSTGRES_DB_HOST=my_host \
        -e POSTGRES_ADMIN_USER=my_admin \
        -e POSTGRES_ADMIN_PASSWORD=my_admin_password \
        -e POSTGRES_SCHEMA=my_dspace \
        -e POSTGRES_USER=my_user \
        -e POSTGRES_PASSWORD=my_password \
        -p 8080:8080 unixelias/docker-dspace

After few seconds DSpace should be accessible from:

Note: The security constraint to tunnel request with SSL on the /rest endpoint has been removed, but it's very important to securize this endpoint in production through Nginx⁠ for example.

⁠Configure webapps installed

⁠This image removes oai, sword, swordv2 an xmlui by default ***

DSpace consumed a lot of memory, and sometimes we don't really need all the DSpace webapps. So iy's possible to set an environment variables to control the webapps installed :

docker run -d --link dspace_db:postgres \
        -e DSPACE_WEBAPPS="jspui xmlui rest" \
        -p 8080:8080 unixelias/docker-dspace

The command above only installed the webapps jspui xmlui and rest.

⁠Build

This project is configured as an automated build in Dockerhub⁠.

⁠License

All the code contained in this repository, unless explicitly stated, is licensed under Apache License Version 2.0.

A copy of the license can be found inside the LICENSE⁠ file.

Tag summary

Content type

Image

Digest

Size

648.2 MB

Last updated

over 7 years ago

docker pull unixelias/docker-dspace