Skip to content
This repository has been archived by the owner on May 12, 2019. It is now read-only.

castiron/manifold-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Manifold Scholarship

Manifold is an intuitive, collaborative platform for scholarly publishing. With iterative texts, powerful annotation tools, rich media support, and robust community dialogue, Manifold transforms scholarly publications into living digital works.

Learn more at manifoldapp.org.
See it in action at manifold.umn.edu.
Join our Slack Channel
Report a bug.
Request a feature.

Manifold Docker

Requirements

General

  • Minimum
    • 4GB RAM
    • 2 CPU cores
  • Recommended
    • 6GB RAM
    • 4 CPU cores

OS X

Linux

Tested on Ubuntu 16.04 LTS and 18.04 LTS. No additional requirements outside of installing Docker (see below).

Windows

  • Virtualization must be enabled in BIOS
  • Hyper-V will automatically be enabled which will prevent VirtualBox from working
    • If this is a problem, then recommendation is to use Docker Toolbox instead
  • Requires Windows 10 Pro, Enterprise, or Education
  • git-bash should be installed (https://git-scm.com/download/win)

git-bash settings selected during testing:

  • Use Git from Git Bash only (required change)
  • Use the OpenSSL library (default)
  • Checkout Windows-style, commit Unix-style line endings (default)
  • Use MinTTY (the default terminal of MSYS2) (default)
  • Enable file system caching (default)
  • Enable Git Credential Manager (default)
  • Enable symbolic links (required change)

Docker

Caveats

Windows

To work around path conversion issues in git-bash you need to run the following prior to using the ./manifold-docker script.

export COMPOSE_CONVERT_WINDOWS_PATHS=1 MSYS_NO_PATHCONV=1;

To work around communication between containers, host.docker.internal is used. As a result, you must pass the DOMAIN parameter when using ./manifold-docker. If you are not using a domain, you can simply pass 127.0.0.1. Example using compose:

./manifold-docker compose up 1.0.1 127.0.0.1

Setup

Option 1

Clone this repo:

git clone https://github.com/ManifoldScholar/manifold-docker.git

The master branch will always track the latest Manifold release: https://github.com/ManifoldScholar/manifold/releases

Alternatively, you can then checkout a specific tag that corresponds to a Manifold release.

Option 2

Download a specific release: https://github.com/ManifoldScholar/manifold-docker/releases

Getting started

Run containers using Docker Compose

./manifold-docker compose up 1.0.1

After the script completes, some basic usage information will be displayed.

An optional domain parameter can be passed to allow access using a domain.

./manifold-docker compose up 1.0.1 example.domain.com

Take it down

./manifold-docker compose down

Run services in Docker swarm mode

Alternatively, you can run this through Docker swarm

./manifold-docker stack up 1.0.1

After the script completes, some basic usage information will be displayed.

An optional domain parameter can be passed to allow access using a domain.

./manifold-docker stack up 1.0.1 example.domain.com

Take it down

./manifold-docker stack down

Run commands in a container or service

Once the containers or services are running, if you need to run additional commands you can do so using the following:

Containers

./manifold-docker compose run VERSION CONTAINER

Valid CONTAINER values: api | client | proxy

Services

/manifold-docker stack run SERVICE

Valid SERVICE values: manifold_api | manifold_client | manifold_proxy

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published