Skip to content
Snippets Groups Projects
Commit fb29a210 authored by michael.minelli's avatar michael.minelli
Browse files

Merge branch 'open_tool_for_self_hosting'

parents b61c7e6a 70770730
No related branches found
No related tags found
No related merge requests found
Pipeline #35134 passed
...@@ -50,7 +50,6 @@ deploy: ...@@ -50,7 +50,6 @@ deploy:
npx @dotenvx/dotenvx@0.45.0 decrypt npx @dotenvx/dotenvx@0.45.0 decrypt
mv .env.production ../../.env mv .env.production ../../.env
rm .env.keys rm .env.keys
cp ../../.env ../.env
# Deploy # Deploy
- cd ../../ - cd ../../
......
Subproject commit 9839397a3be3239080d0fa59244e1cdbd692de08 Subproject commit 64a454911069e285f830a57db85ca26165ab965f
version: '3.8'
services: services:
dojo-database: dojo-database:
container_name: dojo-database container_name: dojo-database
...@@ -34,7 +33,7 @@ services: ...@@ -34,7 +33,7 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: '3.0' cpus: ${CPU_LIMIT}
build: build:
context: ./API/ context: ./API/
dockerfile: Dockerfile_ExpressAPI dockerfile: Dockerfile_ExpressAPI
......
#################################################################################
# This file have to be copied to .env and filled with the correct values
#################################################################################
########################### Database env vars
DATABASE_ROOT_PASSWORD=xxxxxxxxxxxxxx
########################### Session env vars
JWT_SECRET_KEY=xxxxxxxxxxxxxx
LOGIN_GITLAB_CLIENT_ID=xxxxxxxxxxxx
LOGIN_GITLAB_CLIENT_SECRET=xxxxxxxxxxx
########################### Checkers env vars
DOCKERHUB_REPO_ASSIGNMENT_CHECKER=xxxxxxxxxxxxx # HEPIA example: dojohesso/dojo_assignment_checker
DOCKERHUB_REPO_EXERCISE_CHECKER=xxxxxxxxxxxxx # HEPIA example: dojohesso/dojo_exercise_checker
########################### Gitlab env vars
GITLAB_DOMAIN=xxxxxxxxxxx # HEPIA example: gitedu.hesge.ch
GITLAB_URL=https://${GITLAB_DOMAIN}/
GITLAB_URLS='["${GITLAB_URL}"]' # All possible urls for the same gitlab instance (for example HEPIA have https://githepia.hesge.ch too so the value is : '["${GITLAB_URL}", "https://githepia.hesge.ch/"]').
GITLAB_DOJO_ACCOUNT_ID=xxxx
GITLAB_DOJO_ACCOUNT_USERNAME=xxxxxxx
GITLAB_DOJO_ACCOUNT_TOKEN=xxxxxxxx
GITLAB_GROUP_ROOT_ID=xxxx
GITLAB_GROUP_TEMPLATES_ID=xxxxx
GITLAB_GROUP_ASSIGNMENTS_ID=xxxxx
GITLAB_GROUP_EXERCISES_ID=xxxxx
GITLAB_GROUP_DELETED_ASSIGNMENTS_ID=xxxxx
GITLAB_GROUP_DELETED_EXERCISES_ID=xxxxx
# WARNING: DO NOT MODIFY THE NEXT TWO LINES
DATABASE_CONNEXION_LIMIT_PER_PROCESS=2
DATABASE_URL=mysql://root:${DATABASE_ROOT_PASSWORD}@dojo-database:3306/dojo?connection_limit=${DATABASE_CONNEXION_LIMIT_PER_PROCESS}
\ No newline at end of file
########################### Server env vars
API_PORT=30992
LOGS_FOLDER=logs
########################### Database env vars
DATABASE_ROOT_PASSWORD=password
DATABASE_URL="mysql://root:password@dojo-database:port/database"
########################### Session env vars
JWT_SECRET_KEY=secret
SESSION_TIMEOUT=0
ROLES_WITH_TEACHING_STAFF_PERMISSIONS='["teacher", "adjsci", "colsci", "assi"]'
########################### Gitlab env vars
GITLAB_API_URL=url
GITLAB_URLS='["url"]'
GITLAB_DOJO_ACCOUNT_ID=0
GITLAB_DOJO_ACCOUNT_USERNAME=username
GITLAB_DOJO_ACCOUNT_TOKEN=token
GITLAB_GROUP_ROOT_ID=0
GITLAB_GROUP_TEMPLATES_ID=0
GITLAB_GROUP_ENONCES_ID=0
GITLAB_GROUP_EXERCICES_ID=0
########################### Enonce env vars
ENONCE_DEFAULT_DESCRIPTION="description"
ENONCE_DEFAULT_INIT_README=false
ENONCE_DEFAULT_SHARED_RUNNERS_ENABLED=true
ENONCE_DEFAULT_VISIBILITY=internal
ENONCE_DEFAULT_WIKI_ENABLED=false
ENONCE_DEFAULT_TEMPLATE=https://{{USERNAME}}:{{TOKEN}}@url.git
########################### Exercice env vars
EXERCICE_DEFAULT_DESCRIPTION="description"
EXERCICE_DEFAULT_VISIBILITY=private
EXERCICE_MAX_SAME_NAME=10
########################### App env vars
USER_PASSWORD_LENGTH=6
USER_PASSWORD_SALT_ROUNDS=13
\ No newline at end of file
...@@ -23,13 +23,17 @@ if [ $? -ne 0 ]; then ...@@ -23,13 +23,17 @@ if [ $? -ne 0 ]; then
DOCKER_COMPOSE_COMMAND="docker-compose" DOCKER_COMPOSE_COMMAND="docker-compose"
fi fi
${DOCKER_COMPOSE_COMMAND} kill CPU_LIMIT=$(($(nproc)-1))
CPU_LIMIT=$(($CPU_LIMIT <= 0 ? 1 : $CPU_LIMIT))
CPU_LIMIT=${CPU_LIMIT} ${DOCKER_COMPOSE_COMMAND} kill
# If argument is --run, run the docker compose file # If argument is --run, run the docker compose file
if [ "$1" = "--run" ]; then if [ "$1" = "--run" ]; then
# Check if .env file exists # Check if .env file exists
if [ -f $ENV_FILE ]; then if [ -f $ENV_FILE ]; then
${DOCKER_COMPOSE_COMMAND} --env-file ${ENV_FILE} up --build -d cp -f $ENV_FILE API/$ENV_FILE
CPU_LIMIT=${CPU_LIMIT} ${DOCKER_COMPOSE_COMMAND} --env-file ${ENV_FILE} up --build -d
else else
echo "Need a file named ${ENV_FILE} providing environment variables." echo "Need a file named ${ENV_FILE} providing environment variables."
exit 2 exit 2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment