diff --git a/Dockerfile b/Dockerfile index fc1ff52..cfef181 100644 --- a/Dockerfile +++ b/Dockerfile @@ -147,4 +147,4 @@ COPY --chmod=755 ./check-mysql.sh /usr/local/bin/ COPY --chmod=755 ./check-pushtx.sh /usr/local/bin/ COPY --chmod=755 ./check-soroban.sh /usr/local/bin/ COPY --chmod=755 ./functions.sh /usr/local/bin/ -COPY --chmod=755 ./samourai-dojo/docker/my-dojo/soroban/restart.sh /usr/local/bin/soroban-restart.sh \ No newline at end of file +COPY --chmod=755 ./samourai-dojo/docker/my-dojo/soroban/restart.sh /usr/local/bin/soroban-restart.sh diff --git a/docker_entrypoint.sh b/docker_entrypoint.sh index 3037266..f7670f4 100755 --- a/docker_entrypoint.sh +++ b/docker_entrypoint.sh @@ -25,7 +25,7 @@ MYSQL_DATABASE=${MYSQL_DATABASE:-"samourai-main"} MYSQL_USER=${MYSQL_USER:-"samourai"} MYSQL_PASSWORD=${MYSQL_PASSWORD:-"samourai"} -if [ ! -f /var/lib/mysql/.dojo_db_initialized ]; then +if [ ! -d /var/lib/mysql/mysql ]; then echo "[i] MySQL data directory not found or not initialized, creating initial DBs" mkdir -p /var/lib/mysql @@ -77,23 +77,20 @@ EOF echo echo 'MySQL init process done. Starting mysqld...' echo - - # Run initial SQL scripts - sed "1iUSE \`$MYSQL_DATABASE\`;" /docker-entrypoint-initdb.d/2_update.sql | /usr/bin/mysqld --user=mysql --bootstrap --verbose=0 --skip-name-resolve --skip-networking=0 - - for f in /docker-entrypoint-initdb.d/*; do - case "$f" in - *.sql) echo "$0: running $f"; sed "1iUSE \`$MYSQL_DATABASE\`;" "$f" | /usr/bin/mysqld --user=mysql --bootstrap --verbose=0 --skip-name-resolve --skip-networking=0; echo ;; - *) echo "$0: ignoring or entrypoint initdb empty $f" ;; - esac - echo - done - - touch /var/lib/mysql/.dojo_db_initialized else echo "[i] MySQL data directory already initialized, skipping initial DB creation." fi +# Migrate database tables +echo "[i] Running database migration..." +for f in /docker-entrypoint-initdb.d/*; do + case "$f" in + *.sql) echo "$0: running $f"; sed "1iUSE \`$MYSQL_DATABASE\`;" "$f" | /usr/bin/mysqld --user=mysql --bootstrap --verbose=0 --skip-name-resolve --skip-networking=0; echo ;; + *) echo "$0: ignoring or entrypoint initdb empty $f" ;; + esac + echo +done + # Start mysql /usr/bin/mysqld_safe --user=mysql --datadir='/var/lib/mysql' & db_process=$! diff --git a/manifest.yaml b/manifest.yaml index 1c6cce8..ef5f9a0 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -70,22 +70,12 @@ health-checks: inject: true system: false io-format: yaml - soroban: - name: Soroban - success-message: Soroban P2P relay service is online and ready - type: docker - image: main - entrypoint: 'check-soroban.sh' - args: [] - inject: true - system: false - io-format: yaml soroban: name: Soroban success-message: Soroban is running type: docker image: main - entrypoint: "check-soroban.sh" + entrypoint: 'check-soroban.sh' args: [] inject: true system: false