diff --git a/.dockerignore b/.dockerignore index 068d6cc396..f8921815df 100644 --- a/.dockerignore +++ b/.dockerignore @@ -38,4 +38,6 @@ /www/thumbnails /www/.htaccess npm-debug.log -stack_management.sh +stack.sh +/.vagrant + diff --git a/.env b/.env index 39ec089b92..a7873987e6 100644 --- a/.env +++ b/.env @@ -60,8 +60,9 @@ # choose to launch only some workers, see worker profile list below. # - "worker" : launch one container worker with all jobs run on it. # - "cmd" : launch a container based on worker image, useful for run cmd manualy. -# - "db" : db profile will launch a mariadb container, +# - "db" : db profile will launch a mariadb container, with data stored on host and mounted in the db container. # because this is the primary datastore, you should use you own SGDD service for production needs. +# - "db-docker-vol" : same as "db" profile but with data stored in a docker volume. # - "elastisearch" : launch a elasticsearch container. # - "rabbitmq" : launch a rabbitmq container. # - "redis" : launch a redis container for app cache. diff --git a/docker-compose.alternatives.yml b/docker-compose.alternatives.yml index 5d511fa7f0..6363c05906 100644 --- a/docker-compose.alternatives.yml +++ b/docker-compose.alternatives.yml @@ -1,26 +1,4 @@ services: - - db: - image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-db:$PHRASEANET_DOCKER_TAG - build: ./docker/db - restart: on-failure - profiles: ["db-volume-container"] - environment: - - MYSQL_ROOT_PASSWORD - - MYSQL_MAX_ALLOWED_PACKET - - MYSQL_MAX_CONNECTION - - MYSQL_LONG_QUERY_TIME - - MYSQL_SLOW_QUERY_LOG - - MYSQL_QUERY_CACHE_LIMIT - - MYSQL_QUERY_CACHE_SIZE - - MYSQL_KEY_BUFFER_SIZE - - MYSQL_CONNECT_TIMEOUT - - MYSQL_WAIT_TIMEOUT - - MARIADB_AUTO_UPGRADE - volumes: - - db_vol:/var/lib/mysql - networks: - - internal db-mysql8: image: mysql:8.0.36-debian # NOTE: use of "mysql_native_password" is not recommended: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password @@ -51,4 +29,5 @@ services: internal: aliases: - db + diff --git a/docker-compose.datastores.yml b/docker-compose.datastores.yml index 187cb7040b..373e291681 100644 --- a/docker-compose.datastores.yml +++ b/docker-compose.datastores.yml @@ -19,7 +19,33 @@ services: volumes: - ${PHRASEANET_DB_DIR}:/var/lib/mysql networks: - - internal + internal: + aliases: + - db + + db-docker-vol: + image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-db:$PHRASEANET_DOCKER_TAG + build: ./docker/db + restart: on-failure + profiles: ["db-docker-vol"] + environment: + - MYSQL_ROOT_PASSWORD + - MYSQL_MAX_ALLOWED_PACKET + - MYSQL_MAX_CONNECTION + - MYSQL_LONG_QUERY_TIME + - MYSQL_SLOW_QUERY_LOG + - MYSQL_QUERY_CACHE_LIMIT + - MYSQL_QUERY_CACHE_SIZE + - MYSQL_KEY_BUFFER_SIZE + - MYSQL_CONNECT_TIMEOUT + - MYSQL_WAIT_TIMEOUT + - MARIADB_AUTO_UPGRADE + volumes: + - db_vol:/var/lib/mysql + networks: + internal: + aliases: + - db rabbitmq: image: $RABBITMQ_IMAGE_TAG