Skip to content

Installation

Scoold is a Java web application that runs on any modern JVM, or natively on x86 and ARMv8 architectures. The easiest way to run Scoold is to run it as a Docker container. Scoold uses ↗ Para as the backend service. Para handles most of the backend operations and works with all of the popular databases.

Scoold and Para can both be hosted on the same machine, provided it has at least 3 GB of RAM.

  • Java runtime environment (21 or higher)
  • at least 500 MB RAM
  • 1 vCPU or more
  • 10 GB disk space or more (primarily for logs and storing images)

Difficulty: Easy

Terminal window
docker compose -f https://github.com/Erudika/scoold.git up

In your browser, Scoold will be accessible at http://localhost:8000.

Choosing the standard JAR executable path is the simplest and most reliable way to run Scoold. Here, you have two options - run Scoold and Para locally, or, run Scoold locally and connect to Para Cloud (managed backed).

Difficulty: Easy

  1. Sign up and create a new app on ↗ ParaIO.com, then copy your access keys somewhere.
  2. Create Scoold’s configuration file named scoold-application.conf:
    scoold-application.conf
    scoold.env = "production"
    scoold.app_name = "Scoold"
    scoold.para_access_key = "app:scoold"
    scoold.para_secret_key = "{Para app secret}"
    scoold.para_endpoint = "https://paraio.com"
    # add your email here
    scoold.admins = "your@email.com"
    # (optional) require authentication for viewing content
    scoold.is_default_space_public = false
  3. Start Scoold with the command:
    Terminal window
    java -jar -Dconfig.file=./scoold-application.conf scoold-*.jar
  4. Open http://localhost:8000/signin/register and register a new account with same email you put in the configuration.

To login with a social account, you must create a developer app with ↗ Facebook, ↗ Google or any other identity provider. This is not required when you log in with LDAP, SAML or email/password.

Quick start with a self-hosted Para backend

Section titled “Quick start with a self-hosted Para backend”

Difficulty: Moderate

  1. ↗ Download the latest executable Para JAR package
  2. Create a folder para and a file para/para-application.conf. Inside the folder, start Para with the command:
    Terminal window
    java -jar -Dconfig.file=./para-application.conf para-*.jar
  3. Create a folder scoold and a file scoold/scoold-application.conf (see example above)
  4. From inside the scoold folder, start Scoold with the following command, pointing it to the location of the Para configuration file:
    Terminal window
    java -jar -Dconfig.file=./scoold-application.conf \
    -Dscoold.autoinit.para_config_file=../para-application.conf \
    scoold-*.jar
    On startup, Para will initialize and create its own configuration file. Scoold will then try to initialize and configure itself automatically by reading the para-application.conf. Alternatively you could provide Scoold with the root access key directly, instead of pointing it to the Para configuration file, like so:
    Terminal window
    java -jar -Dconfig.file=./scoold-application.conf \
    -Dscoold.autoinit.root_app_secret_key="{app:para secret key}" \
    scoold-*.jar
    The secret key for the root Para app can be found inside the Para para-application.conf, labeled para.root_secret_key.
  5. Open localhost:8000/signin/register and register a new account with same email you put in the configuration

Optionally, you can also install the ↗ Para CLI tool for browsing and managing data in your Scoold app.

For more details about configuring Para, check the Para docs.

Difficulty: Advanced

GraalVM and Maven are required to build the native executable.

  1. Install ↗ GraalVM and ↗ Maven
  2. Clone the project:
    Terminal window
    git clone https://github.com/Erudika/scoold
    cd scoold
  3. Build using Maven:
    Terminal window
    mvn -Pnative clean package
  4. Create the file scoold-application.conf as shown above and execute the native image:
    Terminal window
    cd target/
    ./scoold -Dconfig.file=./scoold-application.conf