On Scoold Cloud you get:
- A dedicated Scoold Pro instance with all features
- Dedicated subdomain with SSL
- Data encryption at rest
- Custom domain support
- Web admin console for easy configuration
- 2 months free, for annual subscriptions
Scoold can be deployed to any cloud provider that supports Docker containers or Java applications.
We offer managed cloud hosting for Scoold Pro at ↗ cloud.scoold.com. Scoold Cloud offers fully managed Scoold hosting with automatic updates, backups, and security patches. With Scoold Cloud you can get a Scoold Pro server up and running in minutes, without worrying about deployment or maintainance.
On Scoold Cloud you get:
git push heroku masterscoold.para_endpoint -> scoold_para_endpoint.https://{appname}.herokuapp.com.heroku/jvm and heroku/java buildpacks to your Heroku app from the Settings pageProcfile containing this line:
web: java -Dserver.port=$PORT $JAVA_OPTS -jar scoold-*.jar $JAR_OPTSheroku plugins:install javaheroku deploy:jar scoold-x.y.z.jar --app myscooldappPushing JARs to Heroku is useful in cases where you have an existing Heroku app which hosts a free version of Scoold, deployed through the “one-click” Heroku button, and you want to upgrade it to Scoold Pro.
On Heroku you don’t have a configuration file, instead you use Heroku’s environment variables to configure Scoold.
You can add each Scoold configuration property as an environment variable on the Settings page of your Heroku admin page.
Click “Reveal Config Vars”. Configuration variables (config vars) must not contain dots ”.”, for example scoold.para_endpoint
becomes para_endpoint. You must replace every dot with an underscore in order to convert a Scoold configuration
property to a Heroku environment variable.
Installing the Heroku CLI tool allows you to watch the Scoold logs with:
heroku logs --tail --app myscooldappOr you can restart your dyno with:
heroku restart --app myscooldappYou can also run Scoold as a Docker container on Heroku:
heroku create my-scoold-appheroku container:loginheroku container:push web -a my-scoold-appheroku container:release web -a my-scoold-appheroku config:set PARA_ENDPOINT=https://my-para.herokuapp.com -a my-scoold-appubuntu with adduser ubuntucurl https://raw.githubusercontent.com/Erudika/scoold/master/installer.sh | bashscp scoold-application.conf root@{droplet_ip}:/home/ubuntussh root@{droplet_ip} "systemctl restart scoold.service"http://{droplet_ip}:8000 and verify that Scoold is runninginstaller.sh:
installer.sh#!/bin/bashset -e -x
# Lightsail/DigitalOcean installer script for UbuntuVERSION="1.66.0"PORT="8000"WORKDIR="/home/ubuntu"JARURL="https://github.com/Erudika/scoold/releases/download/${VERSION}/scoold-${VERSION}.jar"sfile="/etc/systemd/system/scoold.service"
apt-get update && apt-get install -y wget openjdk-21-jre &&wget -O scoold.jar ${JARURL} && \mv scoold.jar $WORKDIR && \chown ubuntu:ubuntu ${WORKDIR}/scoold.jar && \chmod +x ${WORKDIR}/scoold.jartouch ${WORKDIR}/application.conf && \chown ubuntu:ubuntu ${WORKDIR}/application.conf
# Feel free to modify the Scoold configuration herecat << EOF > ${WORKDIR}/application.confscoold.app_name = "Scoold"scoold.port = 8000scoold.env = "production"scoold.host_url = "http://localhost:8000"scoold.para_endpoint = "https://paraio.com"scoold.para_access_key = "app:scoold"scoold.para_secret_key = ""scoold.admins = "admin@example.com"EOF
touch $sfilecat << EOF > $sfile[Unit]Description=ScooldAfter=syslog.targetStartLimitIntervalSec=30StartLimitBurst=2[Service]WorkingDirectory=${WORKDIR}SyslogIdentifier=ScooldExecStart=java -jar -Dconfig.file=application.conf scoold.jarUser=ubuntuRestart=on-failureRestartSec=1s[Install]WantedBy=multi-user.targetEOF
# This is optional. These rules might interfere with other web server configurations like nginx and certbot.#iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-port ${PORT} && \#iptables -t nat -A OUTPUT -p tcp --dport 80 -o lo -j REDIRECT --to-port ${PORT}
systemctl enable scoold.service && \systemctl start scoold.service8000mvn -Pwar packagetarget/scoold-x.y.z.war to Beanstalk, modify any additional options and hit “Create”Scoold is fully compatible with Amazon Cognito because Cognito is just another OAuth 2.0 service provider. Here’s how to configure Scoold to work with Amazon Cognito:
https://scoold.auth.eu-west-1.amazoncognito.com)scoold.oa2_app_id = "cognito_app_client_id"scoold.oa2_secret = "cognito_app_client_secret"scoold.security.oauth.authz_url = "https://scoold.auth.eu-west-1.amazoncognito.com/login"scoold.security.oauth.token_url = "https://scoold.auth.eu-west-1.amazoncognito.com/oauth2/token"scoold.security.oauth.profile_url = "https://scoold.auth.eu-west-1.amazoncognito.com/oauth2/userInfo"scoold.security.oauth.provider = "Continue with Cognito"https://para_url/oauth2_auth as a valid redirect_uri./bin/shvi scoold-application.conf, hit i and paste in your configuration,
hit Esc and type in :wq then restart your container OR, attach a
secret volume
to your container, containing the configuration. It should be mounted as /scoold/application.conf.az container create \ --resource-group myResourceGroup \ --name scoold \ --image erudikaltd/scoold:latest \ --dns-name-label my-scoold \ --ports 8000 \ --environment-variables \ PARA_ENDPOINT=https://my-para.azurewebsites.net \ PARA_ACCESS_KEY=app:scoold \ PARA_SECRET_KEY=your-secretscoold.jarapp.gae.yaml from this repository to the same folder and rename it to app.yamlapp.gae.yaml and fill in the correct configuration propertiesgcloud preview app deploy app.yamlgcloud run deploy scoold \ --image erudikaltd/scoold:latest \ --platform managed \ --region us-central1 \ --set-env-vars "PARA_ENDPOINT=https://para-xyz-uc.a.run.app,PARA_ACCESS_KEY=app:scoold,PARA_SECRET_KEY=secret" \ --allow-unauthenticated \ --port 8000The instructions for Tomcat in particular are:
mvn -Pwar packageROOT.war if you want it deployed to the root context or leave it as isTomcat/webapps/ & start Tomcatcp scoold-application.conf Tomcat/webapps/scoold-folder/WEB-INF/classes/application.conf;./catalina.sh stop./catalina.sh startScoold is compatible with Tomcat, Jetty, Undertow and Payara.
To deploy Scoold at a different path instead of the root path, set:
scoold.context_path = "/newpathThe default value for this setting is blank, meaning Scoold will be deployed at the root directory.