adjust file settings

This commit is contained in:
Ubuntu 2025-02-04 02:12:31 +00:00
parent cf5233f0be
commit 2ba65b8707
4 changed files with 65 additions and 51 deletions

View File

@ -2,10 +2,10 @@ version: '3.8'
services: services:
sqlserver: sqlserver:
build: build:
context: . # Changed from ./sql-server to . to include the whole directory context: .
dockerfile: sql-server/Dockerfile # Updated path to Dockerfile dockerfile: sql-server/Dockerfile
container_name: sqlserver_lightweight container_name: sql1
ports: ports:
- "1433:1433" - "1433:1433"
environment: environment:
@ -17,12 +17,18 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 1G memory: 2G # Minimum required for SQL Server
cpus: '1.0' cpus: '1.0' # Limit to 1 CPU core
reservations: reservations:
memory: 512M memory: 2G # Must reserve 2GB minimum for SQL Server to start
cpus: '0.5' cpus: '0.25' # Reserve quarter of a CPU core
restart: unless-stopped restart: unless-stopped
healthcheck:
test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$$SA_PASSWORD" -Q "SELECT 1" || exit 1
interval: 10s
timeout: 3s
retries: 10
start_period: 10s
volumes: volumes:
sqlserver_data: sqlserver_data:

View File

@ -1,30 +1,38 @@
# Use the lightweight SQL Server 2022 image # Use SQL Server 2022 Express for smaller footprint
FROM mcr.microsoft.com/mssql/server:2022-latest FROM mcr.microsoft.com/mssql/server:2022-latest
# Set environment variables # Set required environment variables
ENV ACCEPT_EULA=Y ENV ACCEPT_EULA=Y \
ENV MSSQL_PID=Express MSSQL_PID=Express \
ENV SA_PASSWORD=YourStrong@Passw0rd SA_PASSWORD=YourStrong@Passw0rd \
PATH="/opt/mssql-tools/bin:${PATH}"
# Create a directory for database scripts # Install sqlcmd utility
USER root
RUN apt-get update && \
apt-get install -y wget software-properties-common gnupg2 && \
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)" && \
apt-get update && \
ACCEPT_EULA=Y apt-get install -y mssql-tools unixodbc-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Create app directory and schemas subdirectory in one layer
WORKDIR /usr/src/app WORKDIR /usr/src/app
RUN mkdir -p schemas
# Create schemas directory # Copy all SQL files in a single layer to reduce image size
RUN mkdir -p /usr/src/app/schemas COPY ./sql-server/schemas/*.sql ./schemas/
COPY ./sql-server/init.sql ./
# Copy the schema files COPY ./sql-server/setup.sh ./
COPY sql-server/schemas/dbo_schema_database_statements_small.sql /usr/src/app/schemas/
COPY sql-server/schemas/fp_schema_database_statements_small.sql /usr/src/app/schemas/
COPY sql-server/schemas/fw_schema_database_statements_small.sql /usr/src/app/schemas/
COPY sql-server/schemas/int_schema_database_statements_small.sql /usr/src/app/schemas/
COPY sql-server/schemas/ob_schema_database_statements_small.sql /usr/src/app/schemas/
# Copy initialization script
COPY sql-server/init.sql /usr/src/app/
COPY sql-server/setup.sh /usr/src/app/
# Fix line endings and make setup script executable # Fix line endings and make setup script executable
RUN sed -i 's/\r$//' /usr/src/app/setup.sh && \ RUN sed -i 's/\r$//' setup.sh && \
chmod +x /usr/src/app/setup.sh chmod +x setup.sh
CMD /bin/bash /usr/src/app/setup.sh # Switch back to mssql user
USER mssql
# Start SQL Server with our setup script
CMD /bin/bash ./setup.sh

View File

@ -16,7 +16,7 @@ CREATE TABLE [dbo].[AMAssumptionView] (
[AssumptionJoinDataGUID] uniqueidentifier NOT NULL, [AssumptionJoinDataGUID] uniqueidentifier NOT NULL,
[FolderGUID] uniqueidentifier NOT NULL, [FolderGUID] uniqueidentifier NOT NULL,
[IsDistributionModeActive] bit NOT NULL, [IsDistributionModeActive] bit NOT NULL,
[DistributionInfo] xml(max) NOT NULL, [DistributionInfo] xml NOT NULL,
[ProviderGUID] uniqueidentifier NOT NULL, [ProviderGUID] uniqueidentifier NOT NULL,
[CreatedDate] datetime NOT NULL, [CreatedDate] datetime NOT NULL,
[CreatedBy] uniqueidentifier NOT NULL, [CreatedBy] uniqueidentifier NOT NULL,
@ -72,7 +72,7 @@ CREATE TABLE [dbo].[AMCorrelationGroup] (
[AssumptionGroupGUID] uniqueidentifier NOT NULL, [AssumptionGroupGUID] uniqueidentifier NOT NULL,
[Name] nvarchar(64) NOT NULL, [Name] nvarchar(64) NOT NULL,
[IsGlobal] bit NOT NULL, [IsGlobal] bit NOT NULL,
[MembersXML] xml(max) NOT NULL, [MembersXML] xml NOT NULL,
PRIMARY KEY ([CorrelationGroupGUID]) PRIMARY KEY ([CorrelationGroupGUID])
); );
GO GO
@ -1288,7 +1288,7 @@ ALTER TABLE [dbo].[CustomMenu] ADD CONSTRAINT [DF_CustomMenu_ISGLOBAL] DEFAULT (
CREATE TABLE [dbo].[CustomMenuContent] ( CREATE TABLE [dbo].[CustomMenuContent] (
[CustomMenuContentGUID] uniqueidentifier NOT NULL, [CustomMenuContentGUID] uniqueidentifier NOT NULL,
[CustomMenuGUID] uniqueidentifier NOT NULL, [CustomMenuGUID] uniqueidentifier NOT NULL,
[ContentXML] xml(max) NOT NULL, [ContentXML] xml NOT NULL,
PRIMARY KEY ([CustomMenuContentGUID]) PRIMARY KEY ([CustomMenuContentGUID])
); );
GO GO
@ -2928,7 +2928,7 @@ CREATE TABLE [dbo].[EMFSubtableDefaultTuple] (
[SUBTABLEDEFAULTTUPLEGUID] uniqueidentifier NOT NULL, [SUBTABLEDEFAULTTUPLEGUID] uniqueidentifier NOT NULL,
[SUBTABLEGUID] uniqueidentifier NOT NULL, [SUBTABLEGUID] uniqueidentifier NOT NULL,
[ISONCOLUMN] bit NOT NULL, [ISONCOLUMN] bit NOT NULL,
[DIMENSIONTUPLEXML] xml(max) NOT NULL, [DIMENSIONTUPLEXML] xml NOT NULL,
PRIMARY KEY ([SUBTABLEDEFAULTTUPLEGUID]) PRIMARY KEY ([SUBTABLEDEFAULTTUPLEGUID])
); );
GO GO
@ -3707,7 +3707,7 @@ CREATE TABLE [dbo].[FEFormField] (
[RenderComparisonFieldGUID] uniqueidentifier NOT NULL, [RenderComparisonFieldGUID] uniqueidentifier NOT NULL,
[RenderComparisonOperator] int NOT NULL, [RenderComparisonOperator] int NOT NULL,
[RefreshMode] tinyint NOT NULL, [RefreshMode] tinyint NOT NULL,
[TypeConfigXML] xml(max) NOT NULL, [TypeConfigXML] xml NOT NULL,
PRIMARY KEY ([FORMFIELDGUID]) PRIMARY KEY ([FORMFIELDGUID])
); );
@ -3930,7 +3930,7 @@ ALTER TABLE [dbo].[FEFormSection] ADD CONSTRAINT [DF_FEFormSection_RuleGroupType
CREATE TABLE [dbo].[FEFormSectionRule] ( CREATE TABLE [dbo].[FEFormSectionRule] (
[FormSectionRuleGUID] uniqueidentifier NOT NULL, [FormSectionRuleGUID] uniqueidentifier NOT NULL,
[FormSectionGUID] uniqueidentifier NOT NULL, [FormSectionGUID] uniqueidentifier NOT NULL,
[RuleXML] xml(max) NOT NULL, [RuleXML] xml NOT NULL,
[Description] nvarchar(max) NOT NULL, [Description] nvarchar(max) NOT NULL,
[RuleType] int NOT NULL, [RuleType] int NOT NULL,
PRIMARY KEY ([FormSectionRuleGUID]) PRIMARY KEY ([FormSectionRuleGUID])
@ -4709,7 +4709,7 @@ CREATE TABLE [dbo].[HistoryItem] (
[CATEGORY] nvarchar(64) NOT NULL, [CATEGORY] nvarchar(64) NOT NULL,
[DESCRIPTION] nvarchar(4000) NOT NULL, [DESCRIPTION] nvarchar(4000) NOT NULL,
[USERCOMMENTS] nvarchar(256) NOT NULL, [USERCOMMENTS] nvarchar(256) NOT NULL,
[METAXML] xml(max) NOT NULL, [METAXML] xml NOT NULL,
[VERSION] timestamp NOT NULL, [VERSION] timestamp NOT NULL,
[MODIFIERUSERNAME] nvarchar(256) NOT NULL, [MODIFIERUSERNAME] nvarchar(256) NOT NULL,
[ITEMCOUNT] int NOT NULL, [ITEMCOUNT] int NOT NULL,
@ -4873,7 +4873,7 @@ CREATE TABLE [dbo].[ImportCSVConfig] (
[ImportCSVConfigGUID] uniqueidentifier NOT NULL, [ImportCSVConfigGUID] uniqueidentifier NOT NULL,
[Name] nvarchar(64) NOT NULL, [Name] nvarchar(64) NOT NULL,
[Description] nvarchar(450) NOT NULL, [Description] nvarchar(450) NOT NULL,
[ConfigXML] xml(max) NOT NULL, [ConfigXML] xml NOT NULL,
[TimeoutSeconds] int NOT NULL, [TimeoutSeconds] int NOT NULL,
PRIMARY KEY ([ImportCSVConfigGUID]) PRIMARY KEY ([ImportCSVConfigGUID])
); );
@ -4899,7 +4899,7 @@ CREATE TABLE [dbo].[IntCapERPConnectorConfig] (
[PollFrequency] int NOT NULL, [PollFrequency] int NOT NULL,
[EnvironmentType] tinyint NOT NULL, [EnvironmentType] tinyint NOT NULL,
[SystemType] smallint NOT NULL, [SystemType] smallint NOT NULL,
[AdditionalDataXML] xml(max) NOT NULL, [AdditionalDataXML] xml NOT NULL,
PRIMARY KEY ([ConnectorConfigGUID]) PRIMARY KEY ([ConnectorConfigGUID])
); );
GO GO
@ -6546,7 +6546,7 @@ CREATE TABLE [dbo].[OMZPool] (
[Name] nvarchar(64) NOT NULL, [Name] nvarchar(64) NOT NULL,
[ProviderSettingsGUID] uniqueidentifier NOT NULL, [ProviderSettingsGUID] uniqueidentifier NOT NULL,
[PoolDimensionMemberGUID] uniqueidentifier NOT NULL, [PoolDimensionMemberGUID] uniqueidentifier NOT NULL,
[Metadata] xml(max) NOT NULL, [Metadata] xml NOT NULL,
[ApprovedFormFieldGUID] uniqueidentifier NOT NULL, [ApprovedFormFieldGUID] uniqueidentifier NOT NULL,
[PlanTypeGUID] uniqueidentifier NOT NULL, [PlanTypeGUID] uniqueidentifier NOT NULL,
[IsUsingFinancialReturn] bit NOT NULL, [IsUsingFinancialReturn] bit NOT NULL,
@ -6579,7 +6579,7 @@ CREATE TABLE [dbo].[OMZProviderSettings] (
[ProviderSettingsGUID] uniqueidentifier NOT NULL, [ProviderSettingsGUID] uniqueidentifier NOT NULL,
[Name] nvarchar(64) NOT NULL, [Name] nvarchar(64) NOT NULL,
[AssemblyQualifiedName] nvarchar(450) NOT NULL, [AssemblyQualifiedName] nvarchar(450) NOT NULL,
[Metadata] xml(max) NOT NULL, [Metadata] xml NOT NULL,
[ProviderAssemblyQualifiedName] nvarchar(450) NOT NULL, [ProviderAssemblyQualifiedName] nvarchar(450) NOT NULL,
[PoolDimensionGUID] uniqueidentifier NOT NULL, [PoolDimensionGUID] uniqueidentifier NOT NULL,
[DefaultEvaluatorRoleGUID] uniqueidentifier NOT NULL, [DefaultEvaluatorRoleGUID] uniqueidentifier NOT NULL,
@ -6614,7 +6614,7 @@ CREATE TABLE [dbo].[OMZScenario] (
[Name] nvarchar(64) NOT NULL, [Name] nvarchar(64) NOT NULL,
[Description] nvarchar(4000) NOT NULL, [Description] nvarchar(4000) NOT NULL,
[PoolGUID] uniqueidentifier NOT NULL, [PoolGUID] uniqueidentifier NOT NULL,
[Metadata] xml(max) NOT NULL, [Metadata] xml NOT NULL,
PRIMARY KEY ([ScenarioGUID]) PRIMARY KEY ([ScenarioGUID])
); );
GO GO
@ -8768,7 +8768,7 @@ CREATE TABLE [dbo].[ReportArchiveEntryDetail] (
[ReportArchiveEntryDetailGUID] uniqueidentifier NOT NULL, [ReportArchiveEntryDetailGUID] uniqueidentifier NOT NULL,
[ReportArchiveEntryGUID] uniqueidentifier NOT NULL, [ReportArchiveEntryGUID] uniqueidentifier NOT NULL,
[ReportArchiveDetailAQN] nvarchar(400) NOT NULL, [ReportArchiveDetailAQN] nvarchar(400) NOT NULL,
[ReportArchiveDetailXML] xml(max) NOT NULL, [ReportArchiveDetailXML] xml NOT NULL,
PRIMARY KEY ([ReportArchiveEntryDetailGUID]) PRIMARY KEY ([ReportArchiveEntryDetailGUID])
); );
GO GO
@ -8830,7 +8830,7 @@ CREATE TABLE [dbo].[RuleAction] (
[RuleSetGUID] uniqueidentifier NOT NULL, [RuleSetGUID] uniqueidentifier NOT NULL,
[ExecutionOrder] int NOT NULL, [ExecutionOrder] int NOT NULL,
[RuleActionTypeAQN] nvarchar(450) NOT NULL, [RuleActionTypeAQN] nvarchar(450) NOT NULL,
[RuleActionTypeConfigXML] xml(max) NOT NULL, [RuleActionTypeConfigXML] xml NOT NULL,
PRIMARY KEY ([RuleActionGUID]) PRIMARY KEY ([RuleActionGUID])
); );
@ -8873,7 +8873,7 @@ CREATE TABLE [dbo].[RuleItem] (
[RuleGUID] uniqueidentifier NOT NULL, [RuleGUID] uniqueidentifier NOT NULL,
[RuleGroupGUID] uniqueidentifier NOT NULL, [RuleGroupGUID] uniqueidentifier NOT NULL,
[RuleTypeAQN] nvarchar(450) NOT NULL, [RuleTypeAQN] nvarchar(450) NOT NULL,
[RuleTypeConfigXML] xml(max) NOT NULL, [RuleTypeConfigXML] xml NOT NULL,
[DisplayOrder] int NOT NULL, [DisplayOrder] int NOT NULL,
[Name] nvarchar(100) NOT NULL, [Name] nvarchar(100) NOT NULL,
PRIMARY KEY ([RuleGUID]) PRIMARY KEY ([RuleGUID])
@ -9217,7 +9217,7 @@ CREATE TABLE [dbo].[SAShockAssumptionType] (
[Name] nvarchar(100) NOT NULL, [Name] nvarchar(100) NOT NULL,
[BaseTableName] nvarchar(50) NOT NULL, [BaseTableName] nvarchar(50) NOT NULL,
[ShockTableName] nvarchar(50) NOT NULL, [ShockTableName] nvarchar(50) NOT NULL,
[WhereClauseXML] xml(max) NOT NULL, [WhereClauseXML] xml NOT NULL,
[DisplayFormat] nvarchar(50) NOT NULL, [DisplayFormat] nvarchar(50) NOT NULL,
[IsPercentage] bit NOT NULL, [IsPercentage] bit NOT NULL,
[FormulaColumnName] nvarchar(max) NOT NULL, [FormulaColumnName] nvarchar(max) NOT NULL,
@ -11171,7 +11171,7 @@ CREATE TABLE [dbo].[ScoreTableEditorColumn] (
[Type] int NOT NULL, [Type] int NOT NULL,
[PixelWidth] int NOT NULL, [PixelWidth] int NOT NULL,
[DisplayOrder] int NOT NULL, [DisplayOrder] int NOT NULL,
[MetaData] xml(max) NOT NULL, [MetaData] xml NOT NULL,
[DisplayName] nvarchar(450) NOT NULL, [DisplayName] nvarchar(450) NOT NULL,
[DefaultMemberType] int NOT NULL, [DefaultMemberType] int NOT NULL,
[IsTextWrap] bit NOT NULL, [IsTextWrap] bit NOT NULL,
@ -11979,7 +11979,7 @@ CREATE TABLE [dbo].[SystemCenterStep] (
[SortOrder] int NOT NULL, [SortOrder] int NOT NULL,
[SectionGUID] uniqueidentifier NOT NULL, [SectionGUID] uniqueidentifier NOT NULL,
[Name] nvarchar(200) NOT NULL, [Name] nvarchar(200) NOT NULL,
[PropertyXML] xml(max) NOT NULL, [PropertyXML] xml NOT NULL,
[Url] nvarchar(400) NOT NULL, [Url] nvarchar(400) NOT NULL,
[GlobalID] nvarchar(100) NOT NULL, [GlobalID] nvarchar(100) NOT NULL,
[Description] nvarchar(4000) NOT NULL, [Description] nvarchar(4000) NOT NULL,
@ -12206,7 +12206,7 @@ CREATE TABLE [dbo].[TETaskHistory] (
[TaskGUID] uniqueidentifier NOT NULL, [TaskGUID] uniqueidentifier NOT NULL,
[Name] nvarchar(450) NOT NULL, [Name] nvarchar(450) NOT NULL,
[Status] int NOT NULL, [Status] int NOT NULL,
[ContextXML] xml(max) NOT NULL, [ContextXML] xml NOT NULL,
[CreationTime] datetime NOT NULL, [CreationTime] datetime NOT NULL,
[StartTime] datetime NOT NULL, [StartTime] datetime NOT NULL,
[LastRunTime] datetime NOT NULL, [LastRunTime] datetime NOT NULL,
@ -12297,7 +12297,7 @@ ALTER TABLE [dbo].[Tag] ADD CONSTRAINT [DF_Tag_Tag] DEFAULT ('') FOR [Name]; GO
CREATE TABLE [dbo].[TaskProgressStatus] ( CREATE TABLE [dbo].[TaskProgressStatus] (
[RowID] bigint NOT NULL, [RowID] bigint NOT NULL,
[TaskGUID] uniqueidentifier NOT NULL, [TaskGUID] uniqueidentifier NOT NULL,
[DataXML] xml(max) NOT NULL, [DataXML] xml NOT NULL,
[StartTime] datetime NOT NULL, [StartTime] datetime NOT NULL,
[TaskStatus] nvarchar(100) NOT NULL, [TaskStatus] nvarchar(100) NOT NULL,
[GlobalID] nvarchar(100) NOT NULL, [GlobalID] nvarchar(100) NOT NULL,

View File

@ -16,7 +16,7 @@ CREATE TABLE [dbo].[AMAssumptionView] (
[AssumptionJoinDataGUID] uniqueidentifier NOT NULL, [AssumptionJoinDataGUID] uniqueidentifier NOT NULL,
[FolderGUID] uniqueidentifier NOT NULL, [FolderGUID] uniqueidentifier NOT NULL,
[IsDistributionModeActive] bit NOT NULL, [IsDistributionModeActive] bit NOT NULL,
[DistributionInfo] xml(max) NOT NULL, [DistributionInfo] xml NOT NULL,
[ProviderGUID] uniqueidentifier NOT NULL, [ProviderGUID] uniqueidentifier NOT NULL,
[CreatedDate] datetime NOT NULL, [CreatedDate] datetime NOT NULL,
[CreatedBy] uniqueidentifier NOT NULL, [CreatedBy] uniqueidentifier NOT NULL,