BayviewComputerClub / smoothie-web

Bayview Computer Club's Online Judge!
https://smoothie.bayview.club
GNU Affero General Public License v3.0
4 stars 0 forks source link
competitive-programming online-judge smoothie smoothie-web spring-boot

smoothie-web

License Smoothie-Web JAR Build Test Site status Language count Top language Repo size Open issues Closed issues Contributor count Commits Latest commit Maintenance Discord

Open source judging website. Don't forget to have a smoothie-runner instance!

Build from source

Install gradle, and in a terminal, run:

gradle wrapper
./gradlew build

The compiled JAR file will be in build/libs/.

Precompiled JAR

Download the JAR :coffee:

or the JAR from the CI server (for consistency).

or as a Docker image.

Getting Started Quick with Docker

A docker-compose.yml file is provided in this repository. All you need to do is:

docker-compose up

and Docker will automaticlly pull in smoothie-web (and expose it on port 9090), along with MongoDB, and Redis.

Installation

Wiki

Configuration

Wiki

application.yml

This optional file should to be in the directory where you run the JAR from.

# These are useful to change
# Feel free to change into conventional YML format, they are listed
# on separate lines for easy pasting.

# Domains that the instance is accessible from (for CORS)
smoothieweb.domains: "http://localhost:80, https://localhost:443, https://localhost:3000, http://localhost:3000"

# Port
server.port: 8080

# Mongo
spring.data.mongodb:
    host: localhost
    port: 27017
    database: main

# Redis
spring.redis:
    host: localhost
    port: 6379
    password: 

# SMTP
spring.mail:
    host: 
    port: 587
    username:
    password:
    properties.mail.smtp:
        auth: true
        starttls.enable: true

# Captcha
google.recaptcha.key:
    site:
    secret:

# Site info
smoothieweb:
    url: localhost:8080
    contact-email: no-email@configured.com

# Email verification
smoothieweb.email-verification:
    secret: PLEASECHANGE
    enabled: false

# Default admin password when database is created
smoothieweb.admin.password: password

# Whether or not to show stack traces on error pages
smoothieweb.error.debug: true

# Spring boot admin server
spring.boot.admin.client.url: "http://localhost:8081"