GithubHelp home page GithubHelp logo

kabugyei / docker-dspace Goto Github PK

View Code? Open in Web Editor NEW

This project forked from unixelias/docker-dspace

0.0 2.0 0.0 241 KB

DSpace Docker images

License: Apache License 2.0

Shell 67.82% Dockerfile 32.18%

docker-dspace's Introduction

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.

docker-dspace's People

Contributors

alanorth avatar jstlaurent avatar unixelias avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.