diff --git a/app/public/blueprints b/app/public/blueprints new file mode 120000 index 00000000..7aa3ca65 --- /dev/null +++ b/app/public/blueprints @@ -0,0 +1 @@ +../../blueprints \ No newline at end of file diff --git a/blueprints/ojs/docker-compose.yml b/blueprints/ojs/docker-compose.yml new file mode 100644 index 00000000..72aba02e --- /dev/null +++ b/blueprints/ojs/docker-compose.yml @@ -0,0 +1,32 @@ +version: "3.8" + +services: + db: + image: mariadb:11.4 + environment: + MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}" + MYSQL_DATABASE: "${OJS_DB_NAME}" + MYSQL_USER: "${OJS_DB_USER}" + MYSQL_PASSWORD: "${OJS_DB_PASSWORD}" + volumes: + - ojs-db-data:/var/lib/mysql + restart: unless-stopped + + ojs: + image: "pkpofficial/ojs:3_3_0-21" + hostname: "${COMPOSE_PROJECT_NAME}" + ports: + - 80 + - 443 + volumes: + - /etc/localtime:/etc/localtime + - ojs-private-files:/var/www/files + - ojs-public-files:/var/www/html/public + depends_on: + - db + restart: unless-stopped + +volumes: + ojs-db-data: {} + ojs-private-files: {} + ojs-public-files: {} diff --git a/blueprints/ojs/ojs.svg b/blueprints/ojs/ojs.svg new file mode 100644 index 00000000..50c79809 --- /dev/null +++ b/blueprints/ojs/ojs.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/blueprints/ojs/template.toml b/blueprints/ojs/template.toml new file mode 100644 index 00000000..b978ad5e --- /dev/null +++ b/blueprints/ojs/template.toml @@ -0,0 +1,25 @@ +[variables] +main_domain = "${domain}" +ojs_password = "${password:16}" +mysql_root_password = "${password:16}" +ojs_db_password = "${password:16}" + +[config] +env = [ + "COMPOSE_PROJECT_NAME=ojs", + "MYSQL_ROOT_PASSWORD=${mysql_root_password}", + "OJS_DB_NAME=ojs", + "OJS_DB_USER=ojs", + "OJS_DB_PASSWORD=${ojs_db_password}", + "OJS_DB_HOST=db", + "OJS_DB_DRIVER=mysqli", + "OJS_CLI_INSTALL=0" +] + +[[config.domains]] +serviceName = "ojs" +port = 80 +host = "${main_domain}" + +# OJS will create its own config.inc.php during installation +# No custom mounts needed - OJS handles configuration through the web installer diff --git a/meta.json b/meta.json index 17b75f4d..095d350f 100644 --- a/meta.json +++ b/meta.json @@ -3674,6 +3674,24 @@ "erp" ] }, + { + "id": "ojs", + "name": "Open Journal Systems", + "version": "3.3.0-21", + "description": "Open Journal Systems (OJS) is a journal management and publishing system that has been developed by the Public Knowledge Project through its federally funded efforts to expand and improve access to research.", + "logo": "ojs.svg", + "links": { + "github": "https://github.com/pkp/docker-ojs", + "website": "https://pkp.sfu.ca/ojs/", + "docs": "https://pkp.sfu.ca/ojs/docs/" + }, + "tags": [ + "publishing", + "journal", + "research", + "academic" + ] + }, { "id": "omni-tools", "name": "Omni-Tools",