containers.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. seafilepro_db_dockerbunker() {
  2. docker run -d \
  3. --name=${FUNCNAME[0]//_/-} \
  4. --restart=always \
  5. --network dockerbunker-${SERVICE_NAME} \
  6. --net-alias=db \
  7. -v ${SERVICE_NAME}-db-vol-1:${volumes[${SERVICE_NAME}-db-vol-1]} \
  8. --env MYSQL_ROOT_PASSWORD=${DBROOT} \
  9. --env MYSQL_USER=${DBUSER} \
  10. --env MYSQL_PASSWORD=${DBPASS} \
  11. ${IMAGES[db]} >/dev/null
  12. if [[ -z $keep_volumes ]];then
  13. if ! docker exec seafilepro-db-dockerbunker mysqladmin ping -h"127.0.0.1" --silent;then
  14. echo -en "\n\e[3m\xe2\x86\x92 Waiting for Seafile DB to be ready...\n\n"
  15. while ! docker exec seafilepro-db-dockerbunker mysqladmin ping -h"127.0.0.1" --silent;do
  16. sleep 3
  17. done
  18. fi
  19. fi
  20. }
  21. seafilepro_setup_dockerbunker() {
  22. docker run -it --rm \
  23. --name=${FUNCNAME[0]//_/-} \
  24. --network=dockerbunker-${SERVICE_NAME} \
  25. -v ${SERVICE_NAME}-data-vol-1:${volumes[${SERVICE_NAME}-data-vol-1]} \
  26. ${IMAGES[service]} $1
  27. }
  28. seafilepro_memcached_dockerbunker() {
  29. docker run --entrypoint memcached -d \
  30. --name=${FUNCNAME[0]//_/-} \
  31. --restart=always \
  32. --net-alias=memcached \
  33. --network dockerbunker-seafilepro \
  34. ${IMAGES[memcached]} -m 256 >/dev/null
  35. }
  36. seafilepro_elasticsearch_dockerbunker() {
  37. docker run -d \
  38. --name=${FUNCNAME[0]//_/-} \
  39. --restart=always \
  40. --net-alias=elasticsearch \
  41. --network dockerbunker-seafilepro \
  42. -e discovery.type=single-node \
  43. -e bootstrap.memory_lock=true \
  44. -e "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
  45. --ulimit memlock=-1:-1 \
  46. -m 2g \
  47. -v ${SERVICE_NAME}-elasticsearch-vol-1:${volumes[${SERVICE_NAME}-elasticsearch-vol-1]} \
  48. ${IMAGES[elasticsearch]} >/dev/null
  49. }
  50. seafilepro_service_dockerbunker() {
  51. docker run -e TZ=Europe/Amsterdam -d \
  52. --name=${FUNCNAME[0]//_/-} \
  53. --restart=always \
  54. --network ${NETWORK} \
  55. --network dockerbunker-seafilepro \
  56. --env-file "${SERVICE_ENV}" \
  57. -e DB_ROOT_PASSWD=${DBROOT} \
  58. -e SEAFILE_SERVER_HOSTNAME=${SERVICE_DOMAIN} \
  59. -v ${SERVICE_NAME}-data-vol-2:${volumes[${SERVICE_NAME}-data-vol-2]} \
  60. ${IMAGES[service]} >/dev/null
  61. }