|
95 | 95 |
|
96 | 96 | hubdb: |
97 | 97 | @ sudo mkdir -p $(PATH_HOST)/mongo/ |
| 98 | + @ sudo mkdir -p ${PATH_HOST}/mongo_dump/ |
98 | 99 | @ $(call dockerize,hubdb,$(DOCKER_HUBDB_PRODUCTION)) |
99 | | - @ sudo docker exec hubdb /app/init_db.sh > /dev/null |
| 100 | + @ sudo docker exec hubdb /app/mongodb_init.sh > /dev/null |
100 | 101 |
|
101 | 102 |
|
102 | 103 | hub: |
@@ -183,7 +184,6 @@ ep-rm: |
183 | 184 | fi |
184 | 185 |
|
185 | 186 |
|
186 | | - |
187 | 187 | ep-cloud: |
188 | 188 | @ sudo mkdir -p $(PATH_KEYS_EP_CLOUD) |
189 | 189 | @ if [ ! -e $(PATH_KEYS_EP_CLOUD) ]; \ |
@@ -309,45 +309,130 @@ config-packages: |
309 | 309 | config-mongodb: |
310 | 310 | @ ( echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled )> /dev/null |
311 | 311 | @ ( echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag )> /dev/null |
| 312 | + @ if(! grep --quiet 'mongodb_dump.sh' /var/spool/cron/crontabs/root ); \ |
| 313 | + then \ |
| 314 | + ( \ |
| 315 | + echo ''; \ |
| 316 | + echo '# Dump MongoDB for backup'; \ |
| 317 | + echo '#'; \ |
| 318 | + echo '15 3 * * * docker exec hubdb /app/mongodb_dump.sh'; \ |
| 319 | + echo '15 11 * * * docker exec hubdb /app/mongodb_dump.sh'; \ |
| 320 | + echo '15 19 * * * docker exec hubdb /app/mongodb_dump.sh'; \ |
| 321 | + ) | tee -a /var/spool/crontabs/root; \ |
| 322 | + fi |
312 | 323 |
|
313 | 324 |
|
314 | 325 | config-bash: |
315 | 326 | @ if(! grep --quiet 'function dockin()' $${HOME}/.bashrc ); \ |
316 | 327 | then \ |
317 | | - ( \ |
318 | | - echo ''; \ |
319 | | - echo '# Function to quickly enter containers'; \ |
320 | | - echo '#'; \ |
321 | | - echo 'function dockin()'; \ |
322 | | - echo '{'; \ |
323 | | - echo ' if [ $$# -eq 0 ]'; \ |
324 | | - echo ' then'; \ |
325 | | - echo ' echo "Please pass a docker container to enter"'; \ |
326 | | - echo ' echo "Usage: dockin [containerToEnter]"'; \ |
327 | | - echo ' else'; \ |
328 | | - echo ' sudo docker exec -it $$1 /bin/bash'; \ |
329 | | - echo ' fi'; \ |
330 | | - echo '}'; \ |
331 | | - echo ''; \ |
332 | | - echo '# Aliases to frequently used functions and applications'; \ |
333 | | - echo '#'; \ |
334 | | - echo "alias c='dockin'"; \ |
335 | | - echo "alias d='sudo docker'"; \ |
336 | | - echo "alias e='sudo docker exec'"; \ |
337 | | - echo "alias i='sudo docker inspect'"; \ |
338 | | - echo "alias l='sudo docker logs -f'"; \ |
339 | | - echo "alias p='sudo docker ps -a'"; \ |
340 | | - echo "alias r='sudo docker rm -fv'"; \ |
341 | | - echo "alias s='sudo docker ps -a | less -S'"; \ |
342 | | - echo "alias m='make'"; \ |
343 | | - ) | tee -a $${HOME}/.bashrc; \ |
| 328 | + ( \ |
| 329 | + echo ''; \ |
| 330 | + echo '# Function to quickly enter containers'; \ |
| 331 | + echo '#'; \ |
| 332 | + echo 'function dockin()'; \ |
| 333 | + echo '{'; \ |
| 334 | + echo ' if [ $$# -eq 0 ]'; \ |
| 335 | + echo ' then'; \ |
| 336 | + echo ' echo "Please pass a docker container to enter"'; \ |
| 337 | + echo ' echo "Usage: dockin [containerToEnter]"'; \ |
| 338 | + echo ' else'; \ |
| 339 | + echo ' sudo docker exec -it $$1 /bin/bash'; \ |
| 340 | + echo ' fi'; \ |
| 341 | + echo '}'; \ |
| 342 | + echo ''; \ |
| 343 | + echo '# Aliases to frequently used functions and applications'; \ |
| 344 | + echo '#'; \ |
| 345 | + echo "alias c='dockin'"; \ |
| 346 | + echo "alias d='sudo docker'"; \ |
| 347 | + echo "alias e='sudo docker exec'"; \ |
| 348 | + echo "alias i='sudo docker inspect'"; \ |
| 349 | + echo "alias l='sudo docker logs -f'"; \ |
| 350 | + echo "alias p='sudo docker ps -a'"; \ |
| 351 | + echo "alias r='sudo docker rm -fv'"; \ |
| 352 | + echo "alias s='sudo docker ps -a | less -S'"; \ |
| 353 | + echo "alias m='make'"; \ |
| 354 | + ) | tee -a $${HOME}/.bashrc; \ |
344 | 355 | echo ""; \ |
345 | 356 | echo ""; \ |
346 | 357 | echo "Please log in/out for changes to take effect!"; \ |
347 | 358 | echo ""; \ |
348 | 359 | fi |
349 | 360 |
|
350 | 361 |
|
| 362 | +config-oc: |
| 363 | + # Add repository and install owncloud cmd client |
| 364 | + # |
| 365 | + @ echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_14.10/ /' \ |
| 366 | + | sudo tee /etc/apt/sources.list.d/owncloud-client.list |
| 367 | + @ wget -qO- http://download.opensuse.org/repositories/isv:ownCloud:desktop/xUbuntu_14.10/Release.key \ |
| 368 | + | sudo apt-key add - |
| 369 | + @ sudo apt-get update |
| 370 | + @ sudo apt-get install -y owncloud-client |
| 371 | + |
| 372 | + @ # Create backup script |
| 373 | + @ # |
| 374 | + @ if [ ! -e ${PATH_HOST}/oc_backup.sh ]; \ |
| 375 | + then \ |
| 376 | + ( \ |
| 377 | + echo '#!/bin/bash'; \ |
| 378 | + echo '#'; \ |
| 379 | + echo '# Backup script for ownCloud - run from the data dir!'; \ |
| 380 | + echo '#'; \ |
| 381 | + echo '# Exit on errors or unitialized variables'; \ |
| 382 | + echo 'set -e -o nounset'; \ |
| 383 | + echo ''; \ |
| 384 | + echo ''; \ |
| 385 | + echo '# Change to script directory'; \ |
| 386 | + echo '#'; \ |
| 387 | + echo 'SCRIPT_DIR=$$( cd $$( dirname $${BASH_SOURCE[0]} ) && pwd )'; \ |
| 388 | + echo 'cd $${SCRIPT_DIR}'; \ |
| 389 | + echo ''; \ |
| 390 | + echo ''; \ |
| 391 | + echo '# Copy non-sensitive MongoDB dumps to ./mongo_partial/'; \ |
| 392 | + echo '#'; \ |
| 393 | + echo 'sudo mkdir -p mongo_partial/'; \ |
| 394 | + echo 'FROM=$\${PATH_HOST}'; \ |
| 395 | + echo 'sudo cp mongo_dump/query_composer_development/delayed* mongo_partial/'; \ |
| 396 | + echo 'sudo cp mongo_dump/query_composer_development/endpoints* mongo_partial/'; \ |
| 397 | + echo 'sudo cp mongo_dump/query_composer_development/system* mongo_partial/'; \ |
| 398 | + echo 'sudo cp mongo_dump/query_composer_development/users* mongo_partial/'; \ |
| 399 | + echo ''; \ |
| 400 | + echo ''; \ |
| 401 | + echo '# Backup cert, dacs, drugref, keys and mongo_partial folders to ownCloud'; \ |
| 402 | + echo '#'; \ |
| 403 | + echo 'USERNAME=$\${OWNCLOUD_ID}'; \ |
| 404 | + echo 'PASSWORD=$\${OWNCLOUD_PW}'; \ |
| 405 | + echo 'OWNCLOUD=$\${OWNCLOUD_URL}'; \ |
| 406 | + echo '#'; \ |
| 407 | + echo 'OC_PATH=$${OWNCLOUD}/remote.php/webdav'; \ |
| 408 | + echo '#'; \ |
| 409 | + echo 'for DIR in \\'; \ |
| 410 | + echo ' cert \\'; \ |
| 411 | + echo ' dacs \\'; \ |
| 412 | + echo ' drugref \\'; \ |
| 413 | + echo ' keys \\'; \ |
| 414 | + echo ' mongo_partial \\'; \ |
| 415 | + echo ' recovery;'; \ |
| 416 | + echo 'do'; \ |
| 417 | + echo ' sudo owncloudcmd -u $${USERNAME} -p $${PASSWORD} $${DIR} $${OC_PATH}/$${DIR};'; \ |
| 418 | + echo 'done'; \ |
| 419 | + ) | sudo tee -a \${PATH_HOST}/oc_backup.sh; \ |
| 420 | + sudo chmod 700 \${PATH_HOST}/oc_backup.sh; \ |
| 421 | + fi |
| 422 | + |
| 423 | + @ # Add script to cron |
| 424 | + @ # |
| 425 | + @ if((! sudo test -e /var/spool/cron/crontabs/root )||(! sudo grep --quiet 'oc_backup.sh' /var/spool/cron/crontabs/root )); \ |
| 426 | + then \ |
| 427 | + ( \ |
| 428 | + echo ''; \ |
| 429 | + echo '# Backup to ownCloud every 30 minutes'; \ |
| 430 | + echo '#'; \ |
| 431 | + echo '0,30 * * * * $\${PATH_HOST}/oc_backup.sh'; \ |
| 432 | + ) | sudo tee -a /var/spool/cron/crontabs/root; \ |
| 433 | + fi |
| 434 | + |
| 435 | + |
351 | 436 | ###################### |
352 | 437 | # Docker Image Pulls # |
353 | 438 | ###################### |
|
0 commit comments