Add Open Journal Systems (OJS) template #348 (#404)

* feat: add Open Journal Systems (OJS) template  - Add OJS 3.3.0-21 template with MariaDB database - Include custom SVG logo and proper metadata - Configure environment variables and domain setup - Fix Docker volume mount issues for proper deployment

* fix: process meta.json to resolve build validation errors

- Run npm run process-meta to sort entries alphabetically
- Remove any duplicates and ensure proper formatting
- Fixes GitHub Actions validate-meta job failure
This commit is contained in:
Harikrishnan Dhanasekaran
2025-10-05 09:51:18 +05:30
committed by GitHub
parent 1f458fdf53
commit 24c1752aab
5 changed files with 87 additions and 0 deletions

1
app/public/blueprints Symbolic link
View File

@@ -0,0 +1 @@
../../blueprints

View File

@@ -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: {}

11
blueprints/ojs/ojs.svg Normal file
View File

@@ -0,0 +1,11 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="64" height="64" rx="8" fill="#1E40AF"/>
<rect x="8" y="8" width="48" height="48" rx="4" fill="white"/>
<rect x="12" y="12" width="40" height="4" rx="2" fill="#1E40AF"/>
<rect x="12" y="20" width="32" height="3" rx="1.5" fill="#6B7280"/>
<rect x="12" y="27" width="36" height="3" rx="1.5" fill="#6B7280"/>
<rect x="12" y="34" width="28" height="3" rx="1.5" fill="#6B7280"/>
<rect x="12" y="41" width="24" height="3" rx="1.5" fill="#6B7280"/>
<circle cx="48" cy="48" r="8" fill="#1E40AF"/>
<path d="M44 48L46 50L52 44" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 732 B

View File

@@ -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

View File

@@ -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",