Sign inSign up

anhefti/seb-server

By anhefti

•Updated 18 days ago

Docker images for SEB Server

Image
Web servers
Monitoring & observability
6

10K+

anhefti/seb-server repository overview

⁠Safe Exam Browser (SEB)

TheSafe Exam Browser (SEB) ecosystem forms an environment to carry out e-assessments safely. The SEB ecosystem consists of the SEB-Client⁠, the SEB-Server⁠ and the SEB-Verificator⁠ which are offered as freeware licensed under the Mozilla Public License. The SEB client software turns any computer temporarily into a secure workstation. It controls access to resources like system functions, other websites and applications and prevents unauthorized resources being used during an exam. the SEB-Verificator is a standalone tool to manually verify the integrity of a Safe Exam Browser installation on a particular exam client computer. The SEB-Server web application simplifies and centralizes the configuration of Safe Exam Browser clients for exams. It interacts with a learning management system or an e-assessment suite for setting up and conducting e-assessments with Safe Exam Browser. It also improves security and allows monitoring of the connected Safe Exam Browser clients in real time during e-assessments.

The Safe Exam Browser Team develops and maintains the SEB ecosystem with the support of the SEB Alliance. The SEB Alliance is the body which sustains ongoing funding of the Safe Exam Browser open source project to continue its maintenance, development and support activities.

The Safe Exam Browser Team maintains the image and provides the following services:

  • regular and timely application updates
  • regular security updates
  • custom support for alliance members (refer to our website for more information)

Find us at:

  • Website⁠ - all the things you can do with our open source software including How-To guides, opinions and much more!
  • GitHub⁠ - view the source for all of our repositories.
  • SEB Server⁠ - The Safe Exam Browser Sever Code Repository.
  • SEB Alliance⁠ - join the SEB Alliance and become a member.

⁠SEB Server Project

GitHub Docker Pulls Docker Stars

SEB Server is a modern webservice with a REST API and a GUI service on top of it. SEB Server is written in Java and uses Docker for installation and setup. SEB Server provides a range of basic functionalities:

  • Built-in institutional multi-tenancy
  • Linking of multiple Learning Management Systems (LMS). Currently supported LMS: Open edX, Moodle, Open OLAT, ANS
  • Accessing the Course/Exam-API of a linked LMS to import a courses or exams for managing with SEB Server
  • Creation and administration of SEB Client Configurations that can be used to startup a SEB and that contains SEB Server connection information for a SEB Client
  • Creation and administration of SEB Exam Configurations that can be bound to an imported Exam to automatically configure a SEB Client that connects to an exam that is managed by SEB Server
  • Automated SEB restriction on LMS side if the specified type of LMS supports the SEB restriction API
  • Monitoring and administration of SEB Client connections within a running exam

⁠Quick start guide

To help you get started quickly you may use docker-compose to run a container from this image.

Prerequisites: A running container engine - we recommend docker⁠

  1. Copy the following docker-compose configuration to a docker-compose.yml file on a local setup directory of your choice:
version: '3.5'
services:
  mariadb: 
    image: "mariadb:10.5"
    container_name: seb-server-mariadb
    environment:
        - MYSQL_ROOT_PASSWORD=${SEBSERVER_PWD}
    volumes:
        - seb-server-mariadb:/var/lib/mysql
    networks:
        - seb-server-network
    restart: unless-stopped

  seb-server:
      image: "anhefti/seb-server:docker-build-test"
      container_name: seb-server
      environment:
        - JAVA_HEAP_MIN=1G
        - JAVA_HEAP_MAX=6G
        - spring_profiles_active=gui,ws,prod-ws,prod-gui,prod
        - datastore_mariadb_server_address=seb-server-mariadb
        - datastore_mariadb_server_port=3306
        - sebserver_password=${SEBSERVER_PWD}
        - sebserver_mariadb_password=${SEBSERVER_PWD}
        - sebserver_init_adminaccount_init_pwd=${USER_PWD}
        
        # Set the below URL component settings from where the the web-service is externally available
        # NOTE: This must be the address from that the service is externally available (not network internal address)
        - sebserver_webservice_http_external_scheme=http
        - sebserver_webservice_http_external_servername=localhost
        - sebserver_webservice_http_external_port=8080
      ports:
          - 8080:8080
      networks:
          - seb-server-network
      depends_on:
          - "mariadb"
      restart: unless-stopped

networks:
  seb-server-network:
    name: seb-server-network

volumes:
  seb-server-mariadb:
    name: seb-server-db
  1. Fill in the needed environment variables directly or create a .env File within the same setup directory that contains the needed environment variables. The following variables must be set/defined:

    • SEBSERVER_PWD: A password that is internally and for communication with the database.
    • USER_PWD: A password for the initial user account (that shall be changed on first login)
    • sebserver_webservice_http_external_servername: The URL domain name where SEB Server is available from outside. If SEB Server is just installed locally and you don't have web-domain, you can let this to "localhost".
    • sebserver_webservice_http_external_port: The port from where the SEB Server shall be available. Empty means HTTP default port 80.
  2. Use "docker-compose pull" and "docker-compose up -d" on your install directory to startup the service. With a Web browser go to http//localhost:8080 or http//your-domain:your-port and you should be able to log in with the generated user account (sebserver-admin / ${USER_PWD}).

⁠Install SEB Server

For a complete guide to install SEB Server please refer to SEB Server Installation Guide⁠

⁠Getting started with SEB Server

For a complete SEB Server user guide, please refer to SEB Server User Guide⁠

⁠Versioning

The versioning of SEB Server docker images follows a simple principle, with three different tag types per release

  • The exact release tag: v[major].[minor].[patch]
  • The last stable minor release tag that always points to the last patch of a minor release: v[major].[minor]-stable
  • The latest minor release tag that always points to the last development status of a minor release: v[major].[minor]-latest
⁠Common Tags:

SEB Server Version 1.5

  • anhefti/seb-server:v1.5-latest
  • anhefti/seb-server:v1.5-stable
  • anhefti/seb-server:v1.5.3
  • anhefti/seb-server:v1.5.2
  • anhefti/seb-server:v1.5.1
  • anhefti/seb-server:v1.5.0

SEB Server Version 1.4

  • anhefti/seb-server:v1.4-latest
  • anhefti/seb-server:v1.4-stable
  • anhefti/seb-server:v1.4.1
  • anhefti/seb-server:v1.4.0

SEB Server Version 1.3

  • anhefti/seb-server:v1.3-latest
  • anhefti/seb-server:v1.3-stable
  • anhefti/seb-server:v1.3.3
  • anhefti/seb-server:v1.3.2
  • anhefti/seb-server:v1.3.1
  • anhefti/seb-server:v1.3.0

⁠Troubleshooting and FAQ

Tips on how to troubleshoot seb-server and frequently asked question can be found on our website⁠.

Tag summary

Content type

Image

Digest

sha256:4dcdb8135…

Size

154.5 MB

Last updated

18 days ago

docker pull anhefti/seb-server:v2.2-latest