{"id":18303986,"url":"https://github.com/computate-org/computate-scolaire","last_synced_at":"2025-06-24T08:03:53.839Z","repository":{"id":44221318,"uuid":"173587420","full_name":"computate-org/computate-scolaire","owner":"computate-org","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-12T21:43:37.000Z","size":24078,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T10:23:06.071Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/computate-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-03T14:43:21.000Z","updated_at":"2022-01-13T22:22:38.000Z","dependencies_parsed_at":"2023-01-28T01:31:39.781Z","dependency_job_id":null,"html_url":"https://github.com/computate-org/computate-scolaire","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/computate-org/computate-scolaire","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computate-org%2Fcomputate-scolaire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computate-org%2Fcomputate-scolaire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computate-org%2Fcomputate-scolaire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computate-org%2Fcomputate-scolaire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/computate-org","download_url":"https://codeload.github.com/computate-org/computate-scolaire/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computate-org%2Fcomputate-scolaire/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261632031,"owners_count":23187268,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T15:27:28.945Z","updated_at":"2025-06-24T08:03:53.813Z","avatar_url":"https://github.com/computate-org.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n\n# Prerequisites\n\n## What is the first step to creating my own website?\n\n### Choose a domain name.\n\nhttps://www.computate.org/enUS/course/001/001-choose-domain-name\n\nFor Red Hat employees, see Christopher Tate for details about a domain name you can use for development, or feel free to obtain your own for practice.\n\n## What can I do once I have purchased a domain name?\n\n### Obtain a valid TLS certificate for free, for security and credibility.\n\nhttps://www.computate.org/enUS/course/001/008-how-to-obtain-free-tls-certificates\n\nFor Red Hat employees, see Christopher Tate for details about the TLS certificates you can use for development, or feel free to generate your own for practice.\n\n## Where can I host the project online?\n\n### Red Hat OpenShift Online is the very best open source cloud hosting available.\n\nhttps://www.openshift.com/products/online/\n\nFor Red Hat employees, you can get permission from your manager to create a free OpenShift account to deploy to:\n\nhttps://employee.openshift.com/register/employee/introduction\n\n# Installation\n\nThe installation of the project for both development and production in containers is completely automated with Ansible.\nBegin by installing both the ansible and python3 packages.\n\n```bash\nsudo yum install -y ansible python3 python3-pip\nsudo pip3 install psycopg2\n```\n\nIf psycopg2 does not install, run:\n\n```bash\nsudo pip3 install psycopg2-binary\n```\n\n## Ansible on older operating systems.\n\nIf you have an older operating system that does not yet support python3, you may struggle to deploy the application on OpenShift in the cloud. The OpenShift Ansible modules seem to require python3 as the system library, so I recommend updating your operating system to something more recent, for example CentOS8 or RHEL8.\n\nOn older operating systems, to deploy the development applications you might want to configure ansible for python2.\n\nTo deploy to OpenShift, you will want to configure ansible to point to python3.\n\nYou might update your ansible configuration like this to make it work:\n\n```\nsudo vim /etc/ansible/ansible.cfg\n```\n\n```\n[defaults]\ninterpreter_python=/usr/bin/python3\n```\n\nYour dependencies might be different on an older operating system.\n\n```bash\nsudo yum install -y ansible python python-pip\nsudo pip install psycopg2\n```\n\n## Ansible training.\n\nFor training on ansible and automation, I recommend the following Red Hat course.\nBy completing the course and taking the exam, you can be a Red Hat Certified Specialist in Ansible Automation.\n\nhttps://www.redhat.com/en/services/training/do407-automation-ansible-i\n\n## Development installation of computate-scolaire.\n\n### Create an ansible inventory for development.\n\nYou will want to create your own directory to store your ansible inventories for both development and production in the cloud.\n\nCreate a directory for the computate project with the included ansible scripts.\n\n```bash\nsudo install -d -o $USER -g $USER /usr/local/src/computate\n```\n\nCreate a directory for your development inventory.\n\n```bash\ninstall -d /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME\n```\n\nCreate a hosts file for your development inventory.\n\n```bash\necho 'localhost' \u003e /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/hosts\n```\n\n### Create an ansible vault for the application secrets.\n\nCreate and edit an encrypted ansible vault with a password for the host secrets for your development inventory.\n\n```bash\nansible-vault create /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/host_vars/$HOSTNAME/vault\nansible-vault edit /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/host_vars/$HOSTNAME/vault\n```\n\nThe contents of the vault will contain the secrets needed to override any default values you want to change in the computate-scolaire defaults defined here.\n\nhttps://github.com/computate/computate/blob/master/ansible/roles/computate_scolaire/defaults/main.yml\n\nThere are descriptions for each of the fields.\nThere are several sections of fields, including:\n\n- computate-scolaire system defaults\n- Ansible defaults\n- Zookeeper defaults\n- Solr defaults\n- PostgreSQL defaults\n- computate-medical global defaults\n- computate-scolaire US English defaults\n- SMTP defaults\n- OpenID Connect auth server defaults\n- SSL/TLS defaults\n\nTo add the neccesary variables to your vault, run:\n\n```bash\ncp inventories/computate-scolaire-local/host_vars/localhost/vault inventories/$USER-$HOSTNAME/host_vars/new-host/vault\n```\n\nAlso, make sure your machine allows ssh. If you are on a linux machine (Fedora):\n\n```bash\nyum install -y openssh-server\nsystemctl start sshd.service\nsystemctl enable sshd.service\n```\n\n### Clone the computate project to run the ansible scripts.\n\nCreate a directory for the computate project containing the ansible scripts to run.\n\n```bash\nsudo install -d -o $USER -g $USER /usr/local/src/computate\n```\n\nClone the computate project.\n\n```bash\ngit clone https://github.com/computate-org/computate.git /usr/local/src/computate\n```\n\nChange to the computate ansible directory.\n\n```bash\ncd /usr/local/src/computate/ansible\n```\n\n#### Run the playbook to install a PostgreSQL server on your development computer.\n\n```bash\nansible-playbook computate_postgres.yml -i /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/hosts --vault-id @prompt\n```\n\n#### Run the playbook to install a Zookeeper cluster manager on your development computer.\n\n```bash\nansible-playbook computate_zookeeper.yml -i /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/hosts --vault-id @prompt\n```\n\n#### Run the playbook to install a Solr search engine on your development computer.\n\n```bash\nansible-playbook computate_zookeeper.yml -i /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/hosts --vault-id @prompt\n```\n\n#### Run the playbook to install the computate-scolaire project for development.\n\n```bash\nansible-playbook computate-scolaire.yml -i /usr/local/src/computate/ansible/inventories/$USER-$HOSTNAME/hosts --vault-id @prompt\n```\n\nIf you are on an older operating system with an older version of ansible, you may run into the following error:\n\n```\nERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.\n\nThe error appears to have been in '/usr/local/src/computate/ansible/roles/computate-scolaire/tasks/main.yml': line 62, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  become_user: \"{{POSTGRES_BECOME_USER}}\"\n- name: Grant enUS user access to database\n  ^ here\n```\n\nThis means that the older version of ansible probably doesn't support the postgresql_pg_hba module and you will have to remove that task before running the ansible playbook successfully.\nYou will need to configure the PostgreSQL hba configuration yourself in this situation.\n\n# Start the development project in English.\n\n## Maven build the computate-scolaire project.\n\n```bash\ncd /usr/local/src/computate-scolaire\nmvn clean install\n```\n\n## Make sure the Eclipse Marketplace and Git integration are installed.\n\nHelp -\u003e Install\n\nWork with: Oxygen - http://download.eclipse.org/releases/oxygen\n\nOr whatever your eclipse release is.\n\n- General Purpose Tools -\u003e Marketplace Client\n- Collaboration -\u003e Git integration for Eclipse\n\n## Install the Eclipse maven plugin.\n\nInstall from Marketplace \"Maven Integration for Eclipse\"\n\n## Import the computate-scolaire project into Eclipse.\n\nFile -\u003e Import... -\u003e Maven -\u003e Existing Maven Projects\n\nClick [ Next \u003e ]\n\nRoot Directory: /usr/local/src/computate-scolaire\n\nClick [ Finish ]\n\n## Eclipse Debug Configuration.\n\nMain Project: computate-scolaire\n\nMain class: org.computate-scolaire.enUS.vertx.AppVertx\n\nEnvironment Variables:\n\n- configPath: /usr/local/src/computate-scolaire/config/computate-scolaire-enUS.config\n- zookeeperHostName: localhost\n- zookeeperPort: 2181\n\n# Deploy computate-scolaire in US English to OpenShift.\n\nFor training on OpenShift and modern cloud application development, I recommend the following Red Hat course.\nBy completing the course and taking the exam, you can be a Red Hat Certified Specialist in OpenShift Application Development.\n\nhttps://www.redhat.com/en/services/training/do288-red-hat-openshift-development-i-containerizing-applications\n\n### Create an ansible inventory for production.\n\nYou will want to create your own directory to store your ansible inventories for production in the cloud.\n\nCreate a directory for your ansible scripts.\n\n```bash\nsudo install -d -o $USER -g $USER /usr/local/src/computate/ansible\n```\n\nCreate a directory for your production inventory.\n\n```bash\ninstall -d /usr/local/src/computate/ansible/inventories/$USER-openshift\n```\n\nCreate a hosts file for your production inventory.\n\n```bash\necho 'localhost' \u003e /usr/local/src/computate/ansible/inventories/$USER-openshift/hosts\n```\n\n### Create an ansible vault for the application secrets.\n\nCreate an encrypted ansible vault with a password for the host secrets for your production inventory.\n\n```bash\nansible-vault edit /usr/local/src/computate/ansible/inventories/$USER-openshift/host_vars/localhost/vault\n```\n\nThe contents of the vault will contain the secrets needed to override any default values you want to change in the computate-scolaire defaults defined here.\n\nhttps://github.com/computate/computate/blob/master/ansible/roles/computate_scolaire_openshift_enUS/defaults/main.yml\n\nThere are descriptions for each of the fields.\nThere are several sections of fields, including:\n\n- Ansible defaults\n- Zookeeper defaults\n- Solr defaults\n- PostgreSQL defaults\n- computate-medical global defaults\n- computate-scolaire US English defaults\n- SMTP defaults\n- SSL/TLS defaults\n- OpenID Connect auth server defaults\n\nChange to the computate ansible directory.\n\n```bash\ncd /usr/local/src/computate/ansible\n```\n\nRun the playbook to install a PostgreSQL server in your OpenShift environment.\n\n```bash\nansible-playbook postgres_openshift.yml -i /usr/local/src/computate/ansible/inventories/$USER-openshift/hosts --vault-id @prompt\n```\n\nRun the playbook to install a Zookeeper cluster manager in your OpenShift environment.\n\n```bash\nansible-playbook computate_zookeeper_openshift.yml -i /usr/local/src/computate/ansible/inventories/$USER-openshift/hosts --vault-id @prompt\n```\n\nRun the playbook to install a Solr search engine in your OpenShift environment.\n\n```bash\nansible-playbook computate_zookeeper_openshift.yml -i /usr/local/src/computate/ansible/inventories/$USER-openshift/hosts --vault-id @prompt\n```\n\nRun the playbook to install a Red Hat SSO server in your OpenShift environment.\n\n```bash\nansible-playbook redhat_sso_openshift.yml -i /usr/local/src/computate/ansible/inventories/$USER-openshift/hosts --vault-id @prompt\n```\n\nRun the playbook to install the computate-scolaire project in your OpenShift environment.\n\n```bash\nansible-playbook computate_scolaire_openshift_enUS.yml -i /usr/local/src/computate/ansible/inventories/$USER-openshift/hosts --vault-id @prompt\n```\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n### You can watch a video and learn more about this project here: https://devpost.com/software/computate-scolaire\n\n# Prerequisites\n\n## What is the first step to creating my own website?\n### Choose a domain name. \nhttps://www.computate.org/enUS/course/001/001-choose-domain-name\n\n## What is the best operating system to develop my website?\n### Try my favorite, CentOS 7. \nhttps://www.computate.org/enUS/course/001/002-choose-your-operating-system\n\n## How do I try CentOS 7 Linux without replacing my operating system?\n### Try CentOS 7 on a VirtualBox virtual machine. \nhttps://www.computate.org/enUS/course/001/003-try-linux-on-a-virtual-machine-on-virtual-box\n\n## How do I install the operating system to start developing my website?\n### Every step to install the CentOS 7 operating system. \nhttps://www.computate.org/enUS/course/001/004-how-to-install-centos7\n\n## How do I install the latest version of maven.\n### Install maven from the source code. \nhttps://www.computate.org/enUS/course/001/004-how-to-install-the-latest-version-of-maven\n\n## How do I install development tools to develop my website?\n### How to install Eclipse IDE the open source way. \nhttps://www.computate.org/enUS/course/001/006-how-to-install-eclipse\n\n## How do I install the latest version of PostgreSQL.\n### Install PostgreSQL from the source code.\nhttps://www.computate.org/enUS/course/001/007-how-to-install-the-latest-version-of-postgresql\n\n## What can I do once I have purchased a domain name?\n### Obtain a valid TLS certificate for free, for security and credibility. \nhttps://www.computate.org/enUS/course/001/008-how-to-obtain-free-tls-certificates\n\n## How do I try out clustered configuration, requests, events and shared data sources in development?\n### Install Zookeeper from the source code. \nhttps://www.computate.org/enUS/course/001/009-how-to-install-the-latest-version-of-zookeeper\n\n## How do I try out a search engine in my project?\n### Install Solr from the source code. \nhttps://www.computate.org/enUS/course/001/010-how-to-install-a-recent-version-of-solr-search-engine\n\n## How do I try out some user management software for single sign on applications? \n### Install Keycloak from the source code. \nCurrently a work in progress. \n\n# Installation\n\n```bash\ncurl https://raw.githubusercontent.com/computate/computate/master/bin/frFR/installer-computate.sh -o ~/Downloads/installer-computate.sh\nbash ~/Downloads/installer-computate.sh\n\ncurl https://raw.githubusercontent.com/computate/computate-scolaire/master/bin/frFR/installer-computate-scolaire.sh -o ~/Downloads/installer-computate-scolaire.sh\nbash ~/Downloads/installer-computate-scolaire.sh\n\n```\n\n# Démarrer le projet en français : \n\n## If you wish to contribute to the project, you will want to configure it in French. \n\nThe project is entirely written in French as a first language, and English as a second language. \nThis ensures proper internationalization is in place through the whole project! \n\n## Eclipse Debug Configuration\n\nMain Project: computate-scolaire\n\nMain class: org.computate.scolaire.frFR.vertx.AppliVertx\n\nEnvironment Variables: \n* configChemin: /usr/local/src/computate-scolaire/config/computate-scolaire.config\n* zookeeperNomHote: localhost\n* zookeeperPort: 10281\n\n# Configurer les données\n\n```bash\n\ncreateuser computate -P\npsql -c \"create database scolaire_frfr; \"\npsql -c \"grant all privileges on database scolaire_frfr to computate; \"\n\n/srv/solr-7.1.0/bin/solr create_collection -c scolaire_frfr -n computate\n\n```\n\n## computate-scolaire.config\n\nconfigChemin: /usr/local/src/computate-scolaire/config/computate-scolaire.config\n\n```ini\nappliNom = computate-scolaire\n\n[computate-scolaire]\nzookeeperNomHote=localhost\nzookeeperPort=10281\nlangueNom=frFR\nappliChemin_enUS=/usr/local/src/computate-scolaire\nappliChemin_frFR=/usr/local/src/computate-scolaire\nnomDomaine=computate.org\nnomEnsembleDomaine=org.computate.scolaire\nautresLangues=enUS\nsuffixeSrcMainJava=/src/main/java\nsuffixeSrcGenJava=/src/gen/java\ncheminsRelatifsARegarder=src/main/java/org/computate/scolaire/frFR\njdbcUrl=\"jdbc:postgresql://localhost:5432/scolaire_frfr\"\njdbcUtilisateur=computate\njdbcMotDePasse=\"...\"\nsiteNomHote=dev.computate.org\nsiteUrlBase=https://dev.computate.org:10180\nauthRoyaume=COMPUTATE.ORG\nauthRessource=computate.org\nauthSecret=...\nauthUrl=https://sso.computate.org/auth\nauthSslRequis=all\nsslJksChemin=/srv/heytate.com/server.jks\nsslJksMotDePasse=\"...\"\nsitePort=10180\nsolrUrl=http://localhost:8983/solr/scolaire_frfr\napiContactMail=ctate@redhat.com\nsiteEcrireMethodes=html\nsiteEcrireMethodes=htmlMeta\nsiteEcrireMethodes=htmlScripts\nsiteEcrireMethodes=htmlScript\nsiteEcrireMethodes=htmlStyles\nsiteEcrireMethodes=htmlStyle\nsiteEcrireMethodes=htmlBody\nsiteZone=America/Denver\n\n```\n\n# Start the project in English : \n\n## Eclipse Debug Configuration\n\nMain Project: computate-scolaire\n\nMain class: org.computate.scolaire.enUS.vertx.AppVertx\n\nEnvironment Variables: \n* configPath: /usr/local/src/computate-scolaire/config/computate-scolaire-enUS.config\n* zookeeperHostName: localhost\n* zookeeperPort: 10281\n\n# Configure the data\n\n```bash\n\ncreateuser computate -P\npsql -c \"create database scolaire_enus; \"\npsql -c \"grant all privileges on database scolaire_enus to computate; \"\n\n/srv/solr-7.1.0/bin/solr create_collection -c scolaire_enus -n computate\n\n```\n\n## computate-scolaire-enUS.config\n\nconfigPath: /usr/local/src/computate-scolaire/config/computate-scolaire-enUS.config\n\n```ini\nappName = computate-scolaire\n\n[computate-scolaire]\nzookeeperHostName=localhost\nzookeeperPort=10281\nlanguageName=frFR\nappPath_enUS=/usr/local/src/computate-scolaire\nappPath_frFR=/usr/local/src/computate-scolaire\ndomainName=computate.org\ndomainPackageName=org.computate.scolaire\notherLanguages=enUS\njdbcUrl=\"jdbc:postgresql://localhost:5432/scolaire_enus\"\njdbcUser=computate\njdbcPassword=\"...\"\nsiteHostName=dev.computate.org\nsiteBaseUrl=https://dev.computate.org:10380\nauthRealm=COMPUTATE.ORG\nauthResource=computate.org\nauthSecret=...\nauthUrl=https://sso.computate.org/auth\nauthSslRequired=all\nsslJksPath=/srv/heytate.com/server.jks\nsslJksPassword=\"...\"\nsitePort=10380\nsolrUrl=http://localhost:8983/solr/scolaire_enus\napiContactEmail=ctate@redhat.com\nsiteZone=America/Denver\n\n```\n\n# Deployment\nSample OpenShift deployment yml file to be placed in /usr/local/src/computate-scolaire/src/main/fabric8/deployment.yml: \n\n```yaml\nspec:\n  strategy:\n    activeDeadlineSeconds: 21600\n    recreateParams:\n      timeoutSeconds: 3600\n    resources: {}\n    type: Recreate\n  template:\n    spec:\n      containers:\n        - name: vertx\n          env:\n            - name: KUBERNETES_NAMESPACE\n              valueFrom:\n                fieldRef:\n                  apiVersion: v1\n                  fieldPath: metadata.namespace\n            - name: JAVA_OPTIONS\n              value: '-Dvertx.cacheDirBase=/tmp -Dvertx.jgroups.config=default'\n            - name: langueNom\n              value: frFR\n              \n            - name: zookeeperHostName\n              value: ...\n              \n            - name: zookeeperPort\n              value: 8080\n              \n            - name: clusterPublicPort\n              value: 8081\n              \n            - name: appliChemin_enUS\n              value: /usr/local/src/computate-scolaire\n              \n            - name: domainName\n              value: computate.org\n              \n            - name: companyName\n              value: computate.org\n              \n            - name: jdbcUrl\n              value: \"jdbc:postgresql://...:5432/scolaire_enus\"\n              \n            - name: jdbcUsername\n              value: computate\n              \n            - name: jdbcPassword\n              value: \"...\"\n              \n            - name: siteHostName\n              value: school.computate.org\n              \n            - name: siteBaseUrl\n              value: https://school.computate.org\n              \n            - name: authRealm\n              value: COMPUTATE.ORG\n              \n            - name: authResource\n              value: computate.org\n              \n            - name: authSecret\n              value: ...\n              \n            - name: authUrl\n              value: https://sso.computate.org/auth\n              \n            - name: authSslRequired\n              value: all\n              \n            - name: sslJksPath\n              value: /srv/heytate.com/server.jks\n              \n            - name: sslJksPassword\n              value: \"...\"\n              \n            - name: sitePort\n              value: 8080\n              \n            - name: solrUrl\n              value: http://...:8080/solr/scolaire_enUS\n              \n            - name: apiContactMail\n              value: ...\n              \n            - name: staticBaseUrl\n              value: https://computate.neocities.org/scolaire\n              \n            - name: numberExecutors\n              value: 5\n              \n            - name: siteZone\n              value: America/New_York\n\n          readinessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 15\n            timeoutSeconds: 5\n          livenessProbe:\n            httpGet:\n              path: /health\n              port: 8080\n              scheme: HTTP\n            initialDelaySeconds: 15\n            timeoutSeconds: 5\n          ports:\n          - containerPort: 8080\n            name: http\n            protocol: TCP\n          - containerPort: 8081\n            name: cluster\n            protocol: TCP\n          - containerPort: 9779\n            name: prometheus\n            protocol: TCP\n          - containerPort: 8778\n            name: jolokia\n            protocol: TCP\n\n```\n\n# Deploy static files to CDN. \n\n```bash\nrsync -r /usr/local/src/computate-scolaire-static/ /usr/local/src/computate.org-static/scolaire/\n```\n\n# Certs\n\n```bash\nsudo yum install -y letsencrypt\ncurl https://letsencrypt.org/certs/isrgrootx1.pem.txt -o /usr/local/src/computate-scolaire/config/root.crt\ncurl https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt -o /usr/local/src/computate-scolaire/config/ca1.crt\ncurl https://letsencrypt.org/certs/letsencryptauthorityx3.pem.txt -o /usr/local/src/computate-scolaire/config/ca2.crt\nsudo certbot -d demo.heytate.com --manual --preferred-challenges dns certonly --server https://acme-v02.api.letsencrypt.org/directory\nsudo cp /etc/letsencrypt/live/demo.heytate.com/privkey.pem /usr/local/src/computate-scolaire/config/server.key\nsudo cp /etc/letsencrypt/live/demo.heytate.com/fullchain.pem /usr/local/src/computate-scolaire/config/server.crt\nsudo chown $USER: /usr/local/src/computate-scolaire/config/server.* /usr/local/src/computate-scolaire/config/root.crt\ncat /usr/local/src/computate-scolaire/config/root.crt /usr/local/src/computate-scolaire/config/server.crt \u003e /usr/local/src/computate-scolaire/config/merged.crt\nopenssl pkcs12 -export -in /usr/local/src/computate-scolaire/config/merged.crt -inkey /usr/local/src/computate-scolaire/config/server.key -out /usr/local/src/computate-scolaire/config/server.p12 -name demo.heytate.com\nkeytool -importkeystore -srckeystore /usr/local/src/computate-scolaire/config/server.p12 -destkeystore /usr/local/src/computate-scolaire/config/server.jks -srcstoretype pkcs12 -deststoretype pkcs12 -alias demo.heytate.com -destalias demo.heytate.com\nrm /usr/local/src/computate-scolaire/config/server.jceks\nkeytool -genseckey -alias demo.heytate.com -storetype JCEKS -keystore /usr/local/src/computate-scolaire/config/server.jceks\n# Reconfigure the Red Hat SSO secret:\nbase64 /usr/local/src/computate-scolaire/config/server.jks | perl -pe'chomp'\nbase64 /usr/local/src/computate-scolaire/config/server.jceks | perl -pe'chomp'\n# Configure the www.computate.org route:\ncat /usr/local/src/computate-scolaire/config/server.crt\ncat /usr/local/src/computate-scolaire/config/server.key\ncat /usr/local/src/computate-scolaire/config/ca1.crt\n```\n\n# Deployment to OpenShift\n\n```bash\ncd /usr/local/src/computate-scolaire\nmvn clean install\nmvn fabric8:deploy -Popenshift\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputate-org%2Fcomputate-scolaire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomputate-org%2Fcomputate-scolaire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputate-org%2Fcomputate-scolaire/lists"}