Advanced Configuration

To work with FIP Wizard you are not required to change anything in the included docker-compose.yml nor configuration files. For some specific use cases you might want to make some of the following changes.

Persistence

In the basic setup, persistence is assured using mounted folders (bind mounts):

  • ./mongo/data - for MongoDB

  • ./allegrograph/data - for AllegroGraph triple store (used as nanopublications data storage)

This allows you to easily work with data used by FIP Wizard. For example, you can clear those folders (while it is not running) to start over. In some cases you might want to use Docker volumes instead. Using Docker volumes is recommended when using Docker for Windows due to common problems related to mounting Windows folders into Linux containers.

# ...

mongo:
  image: mongo:4.2.3
  restart: always
  ports:
    - 27017:27017
  environment:
    MONGO_INITDB_DATABASE: wizard
  volumes:
    - mongo-data:/data/db  # <- USING DOCKER VOLUME
    - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro

# ...

agraph:
  image: franzinc/agraph:v7.0.1
  restart: always
  ports:
    - 10000-10035:10000-10035
  hostname: agraph
  shm_size: '1gb'
  volumes:
    - agraph-data:/agraph/data    # <- USING DOCKER VOLUME
    - ./allegrograph/agraph.cfg:/agraph/etc/agraph.cfg

# ...

volumes:
  mongo-data:
  agraph-data:

To avoid persistence totally (i.e. all data will be lost after docker-compose down). Just comment out or delete lines related to mounting volumes in docker-compose.yml`:

# ...

mongo:
  image: mongo:4.2.3
  restart: always
  ports:
    - 27017:27017
  environment:
    MONGO_INITDB_DATABASE: wizard
  volumes:
    # - mongo-data:/data/db  # <-
    - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro

# ...

agraph:
  image: franzinc/agraph:v7.0.1
  restart: always
  ports:
    - 10000-10035:10000-10035
  hostname: agraph
  shm_size: '1gb'
  volumes:
    # - agraph-data:/agraph/data    # <-
    - ./allegrograph/agraph.cfg:/agraph/etc/agraph.cfg

Important

Data backups are your responsibility. It is recommended to backup regularly all mounted volumes and store such backups in different site(s).

Changing ports

If you need to change ports because you already use those for other services, you just need to adjust the mappings in docker-compose.yml file. For example, if you want to access MongoDB on other port than 27017 change the mapping 27017:27017 to something else, e.g. 27020:27017.

# ...

mongo:
  image: mongo:4.2.3
  restart: always
  ports:
    - 27020:27017
  environment:
    MONGO_INITDB_DATABASE: wizard
  volumes:
    # ...
    - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro

FIP Wizard emails

There is optional configuration in dsw-server/application.yml related to email server. You need that to enable:

  • User registrations with email-based verification: upon registration a verification email is sent, otherwise administrator have to set new accounts as Active manually in users administration.

  • Password recovery: when someone forgots password, they can ask for reset link that will be sent to their email address, otherwise it can be again changes only by administrators.

To make those emails working, fill the configuration with your SMTP server and accoung. We recommend using secured emails with SSL/TLS or STARTTLS. For more information, visit DSW documentation.

Note

Registrations can be turned off using Settings and Authentication.