-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfigure.sh
More file actions
102 lines (79 loc) · 3.13 KB
/
configure.sh
File metadata and controls
102 lines (79 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
MODULE_NAME=overleaf
RF=$BUILDDIR/${MODULE_NAME}
mkdir -p $RF
DOCKER_HOST=$DOCKERARGS
DOCKER_COMPOSE_FILE=$RF/docker-compose.yml
# README
# works only if serves on :8080 or any other port, but not through the nginx, since it doesn_t have a BASE_URL property?
OVERLEAF_LOG=$LOG_DIR/${MODULE_NAME}
OVERLEAF_DATA=$DATA_DIR/${MODULE_NAME}
OVERLEAF_DB_MONGO=$DATA_DIR/${MODULE_NAME}_db_mongo
OVERLEAF_DB_REDIS=$DATA_DIR/${MODULE_NAME}_db_redis
case $VERB in
"build")
echo "1. Configuring ${PREFIX}-${MODULE_NAME}..."
# CODEDIR=$RF/githubcode
# if [ ! -d $CODEDIR ] ; then
# git clone https://github.com/overleaf/overleaf.git $CODEDIR
# fi
mkdir -p $OVERLEAF_DB_MONGO $OVERLEAF_DB_REDIS $OVERLEAF_DATA $OVERLEAF_LOG
docker $DOCKERARGS volume create -o type=none -o device=$OVERLEAF_DATA -o o=bind ${PREFIX}-overleaf-data
docker $DOCKERARGS volume create -o type=none -o device=$OVERLEAF_LOG -o o=bind ${PREFIX}-overleaf-log
docker $DOCKERARGS volume create -o type=none -o device=$OVERLEAF_DB_REDIS -o o=bind ${PREFIX}-overleaf-redis_data
docker $DOCKERARGS volume create -o type=none -o device=$OVERLEAF_DB_MONGO -o o=bind ${PREFIX}-overleaf-mongo_data
sed -e "s/##REWRITEPROTO##/$REWRITEPROTO/" \
-e "s/##PREFIX##/$PREFIX/" \
-e "s/##OUTERHOST##/$OUTERHOST/" docker-compose.yml-template > $DOCKER_COMPOSE_FILE
sed -e "s/##REWRITEPROTO##/$REWRITEPROTO/" \
-e "s/##PREFIX##/$PREFIX/" \
-e "s/##OUTERHOST##/$OUTERHOST/" Dockerfile_template > $RF/Dockerfile
echo "2. Building ${PREFIX}-overleaf..."
docker-compose $DOCKER_HOST -f $DOCKER_COMPOSE_FILE build
;;
"install-hydra")
# register_hydra $MODULE_NAME
;;
"uninstall-hydra")
# unregister_hydra $MODULE_NAME
;;
"install-nginx")
register_nginx $MODULE_NAME
;;
"uninstall-nginx")
unregister_nginx $MODULE_NAME
;;
"start")
echo "Starting container ${PREFIX}-${MODULE_NAME}"
docker-compose $DOCKERARGS -f $DOCKER_COMPOSE_FILE up -d
;;
"init")
# $ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email joe@example.com"
# After password reset the password can be found in one of the logs /var/log/sharelatex/*
# https://github.com/overleaf/web/issues/264
;;
"admin")
echo "Creating ${MODULE_NAME} admin user..."
docker $DOCKERARGS exec -it ${PREFIX}-${MODULE_NAME} /opt/overleaf/overleaf-server-latest/reset-admin.sh
;;
"stop")
echo "Stopping container ${PREFIX}-${MODULE_NAME}"
docker-compose $DOCKERARGS -f $DOCKER_COMPOSE_FILE down
;;
"remove")
echo "Removing $DOCKER_COMPOSE_FILE"
docker-compose $DOCKERARGS -f $DOCKER_COMPOSE_FILE kill
docker-compose $DOCKERARGS -f $DOCKER_COMPOSE_FILE rm
;;
"cleandata")
echo "Cleaning data ${PREFIX}-${MODULE_NAME}"
docker $DOCKERARGS volume rm ${PREFIX}-${MODULE_NAME}-data
docker $DOCKERARGS volume rm ${PREFIX}-${MODULE_NAME}-redis_data
docker $DOCKERARGS volume rm ${PREFIX}-${MODULE_NAME}-mongo_data
;;
"purge")
### echo "Removing $RF"
### rm -R -f $RF
### docker $DOCKERARGS volume rm ${PREFIX}-overleaf-data
;;
esac