Files
Umbraco-CMS/templates/UmbracoDockerCompose/Database/startup.sh

24 lines
1.2 KiB
Bash
Raw Normal View History

Improve dotnet templates (#16815) * Add delivery api toggle * Add Dockerfile * add docker compose template * Ensure no duplicate database containers * Remove wwwroot/umbraco permission check We don't need write access to this folder * Provide environment variables from dokcer-compose * Build as debug from compose The compose file is intended to be used for local dev * Don't store password in docker files Still not great to store it in .env but it's fine for dev * Add additional template files * Add docker ignore file * Enable delivery API in settings too * Enable models builder mode toggle * Add WIP for umbraco release option * Add starterkit option * Add option to chose LTS or latest * Add development mode option * Add descriptions * Add display names * Add backoffice development at explicit default * Rearrange DevelopmentMode before ModelsBuilderMode * Allow specifying a port for the compose file * Add some notes * Move starterkits into its own template * Don't update version * Remove test configuration from Dockerfile * Add default modelsbuilder option * Update descriptions * overwrite default values in IDE development * Remove obsolete runtime minification * Try and fix healthcheck * Don't use post action for starterkit otherwise it won't work with Rider, also make the version 13.0.0 if LTS is chosen * Move UmbracoVersion above FinalVersion Otherwise, rider will use UmbracoVersion for some weird reason * Fix healthcheck * Use else instead of second if for modelsbuilder * Obsolete UmbracoVersion * Remove custom release option * Use forward slashes for volumes * Add MSSQL_SA_PASSWORD env variable * Temporarily limit acceptance tests so it works * Try again * Disable SQLServer integration tests * Set UseHttps to false in appsettings.Development.json You still want to be able to use non-https when developing locally * Fix LTS version LTS still needs installer endpoints added * Update permissions of wwwroot/umbraco for v13 sites * Fix conditional in Program.cs * Undo pipeline shenanigans
2024-08-26 11:21:02 +02:00
#!/bin/bash
set -e
# Taken from: https://github.com/CarlSargunar/Umbraco-Docker-Workshop
if [ "$1" = '/opt/mssql/bin/sqlservr' ]; then
# If this is the container's first run, initialize the application database
if [ ! -f /tmp/app-initialized ]; then
# Initialize the application database asynchronously in a background process. This allows a) the SQL Server process to be the main process in the container, which allows graceful shutdown and other goodies, and b) us to only start the SQL Server process once, as opposed to starting, stopping, then starting it again.
function initialize_app_database() {
# Wait a bit for SQL Server to start. SQL Server's process doesn't provide a clever way to check if it's up or not, and it needs to be up before we can import the application database
sleep 15s
#run the setup script to create the DB and the schema in the DB
2024-11-07 22:09:11 +00:00
/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$SA_PASSWORD" -d master -i setup.sql -C
Improve dotnet templates (#16815) * Add delivery api toggle * Add Dockerfile * add docker compose template * Ensure no duplicate database containers * Remove wwwroot/umbraco permission check We don't need write access to this folder * Provide environment variables from dokcer-compose * Build as debug from compose The compose file is intended to be used for local dev * Don't store password in docker files Still not great to store it in .env but it's fine for dev * Add additional template files * Add docker ignore file * Enable delivery API in settings too * Enable models builder mode toggle * Add WIP for umbraco release option * Add starterkit option * Add option to chose LTS or latest * Add development mode option * Add descriptions * Add display names * Add backoffice development at explicit default * Rearrange DevelopmentMode before ModelsBuilderMode * Allow specifying a port for the compose file * Add some notes * Move starterkits into its own template * Don't update version * Remove test configuration from Dockerfile * Add default modelsbuilder option * Update descriptions * overwrite default values in IDE development * Remove obsolete runtime minification * Try and fix healthcheck * Don't use post action for starterkit otherwise it won't work with Rider, also make the version 13.0.0 if LTS is chosen * Move UmbracoVersion above FinalVersion Otherwise, rider will use UmbracoVersion for some weird reason * Fix healthcheck * Use else instead of second if for modelsbuilder * Obsolete UmbracoVersion * Remove custom release option * Use forward slashes for volumes * Add MSSQL_SA_PASSWORD env variable * Temporarily limit acceptance tests so it works * Try again * Disable SQLServer integration tests * Set UseHttps to false in appsettings.Development.json You still want to be able to use non-https when developing locally * Fix LTS version LTS still needs installer endpoints added * Update permissions of wwwroot/umbraco for v13 sites * Fix conditional in Program.cs * Undo pipeline shenanigans
2024-08-26 11:21:02 +02:00
# Note that the container has been initialized so future starts won't wipe changes to the data
touch /tmp/app-initialized
}
initialize_app_database &
fi
fi
exec "$@"