wip - DB
Signed-off-by: Carl Sargunar <carl@sargunar.com>
This commit is contained in:
parent
085dcae736
commit
8fc9904238
26
umbraco-cms/app/db/Dockerfile
Normal file
26
umbraco-cms/app/db/Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
FROM mcr.microsoft.com/mssql/server:2019-GDR1-ubuntu-16.04
|
||||
|
||||
ENV ACCEPT_EULA=Y
|
||||
ENV SA_PASSWORD=SQL_password123
|
||||
ENV MSSQL_PID=Express
|
||||
|
||||
USER root
|
||||
|
||||
RUN mkdir /var/opt/sqlserver
|
||||
|
||||
RUN chown mssql /var/opt/sqlserver
|
||||
|
||||
ENV MSSQL_BACKUP_DIR="/var/opt/sqlserver"
|
||||
ENV MSSQL_DATA_DIR="/var/opt/sqlserver"
|
||||
ENV MSSQL_LOG_DIR="/var/opt/sqlserver"
|
||||
|
||||
EXPOSE 1433/tcp
|
||||
|
||||
COPY setup.sql /
|
||||
COPY startup.sh /
|
||||
|
||||
COPY Umbraco.mdf /var/opt/sqlserver
|
||||
COPY Umbraco_log.ldf /var/opt/sqlserver
|
||||
|
||||
ENTRYPOINT [ "/bin/bash", "startup.sh" ]
|
||||
CMD [ "/opt/mssql/bin/sqlservr" ]
|
15
umbraco-cms/app/db/setup.sql
Normal file
15
umbraco-cms/app/db/setup.sql
Normal file
@ -0,0 +1,15 @@
|
||||
USE [master]
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'UmbracoDb')
|
||||
BEGIN
|
||||
|
||||
CREATE DATABASE [UmbracoDb] ON
|
||||
( FILENAME = N'/var/opt/sqlserver/Umbraco.mdf' ),
|
||||
( FILENAME = N'/var/opt/sqlserver/Umbraco_log.ldf' )
|
||||
FOR ATTACH
|
||||
|
||||
END;
|
||||
GO
|
||||
|
||||
USE UmbracoDb;
|
22
umbraco-cms/app/db/startup.sh
Normal file
22
umbraco-cms/app/db/startup.sh
Normal file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
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
|
||||
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P SQL_password123 -d master -i setup.sql
|
||||
|
||||
# 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 "$@"
|
@ -1,6 +1,6 @@
|
||||
# Umbraco CMS Docker compose file
|
||||
|
||||
This sample project will start up the [Umbraco CMS](https://github.com/umbraco/Umbraco-CMS/) in a Docker container, with an attached database container running SQL Server.
|
||||
This sample project will start up the [Umbraco CMS](https://github.com/umbraco/Umbraco-CMS/) in a Docker container, with an attached database container running SQL Server. This site also uses a template starter kit which is built on the Portfolio demo from Paul Seal
|
||||
|
||||
Project structure:
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user