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.
Prerequisites
Section titled “Prerequisites”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)
- Java runtime environment (21 or higher)
- at least 1 GB RAM
- 1 vCPU (2 are recommended)
- 10 GB disk space or more (unless the database is stored on the same machine)
Quick Start: Docker (single command)
Section titled “Quick Start: Docker (single command)”Difficulty: Easy
docker compose -f https://github.com/Erudika/scoold.git upIn your browser, Scoold will be accessible at http://localhost:8000.
Option 2: JAR executable
Section titled “Option 2: JAR executable”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).
Quick start with a Para Cloud account
Section titled “Quick start with a Para Cloud account”Difficulty: Easy
- Sign up and create a new app on ↗ ParaIO.com, then copy your access keys somewhere.
- 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 herescoold.admins = "your@email.com"# (optional) require authentication for viewing contentscoold.is_default_space_public = false - Start Scoold with the command:
Terminal window java -jar -Dconfig.file=./scoold-application.conf scoold-*.jar - Open
http://localhost:8000/signin/registerand 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
- ↗ Download the latest executable Para JAR package
- Create a folder
paraand a filepara/para-application.conf. Inside the folder, start Para with the command:Terminal window java -jar -Dconfig.file=./para-application.conf para-*.jar - Create a folder
scooldand a filescoold/scoold-application.conf(see example above) - From inside the
scooldfolder, start Scoold with the following command, pointing it to the location of the Para configuration file:On startup, Para will initialize and create its own configuration file. Scoold will then try to initialize and configure itself automatically by reading theTerminal window java -jar -Dconfig.file=./scoold-application.conf \-Dscoold.autoinit.para_config_file=../para-application.conf \scoold-*.jarpara-application.conf. Alternatively you could provide Scoold with the root access key directly, instead of pointing it to the Para configuration file, like so:The secret key for the root Para app can be found inside the ParaTerminal window java -jar -Dconfig.file=./scoold-application.conf \-Dscoold.autoinit.root_app_secret_key="{app:para secret key}" \scoold-*.jarpara-application.conf, labeledpara.root_secret_key. - 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.
Option 3: Native executable
Section titled “Option 3: Native executable”Difficulty: Advanced
GraalVM and Maven are required to build the native executable.
- Install ↗ GraalVM and ↗ Maven
- Clone the project:
Terminal window git clone https://github.com/Erudika/scooldcd scoold - Build using Maven:
Terminal window mvn -Pnative clean package - Create the file
scoold-application.confas shown above and execute the native image:Terminal window cd target/./scoold -Dconfig.file=./scoold-application.conf