Skip to content

Commit

Permalink
Add Umbraco Dockerfile and setup pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
kostakupresak committed Oct 13, 2023
1 parent e06923c commit 1f306a0
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .env.default
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
DATABASE_PORT=
DATABASE_PASSWORD=
UMBRACO_PORT=
CONNECTION_STRING=
14 changes: 14 additions & 0 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,29 @@ jobs:
steps:
- name: Checkout main
uses: actions/checkout@main
- name: Building docker image
run: docker build ./Hakaton.SlobodaNemaCenu/ -t codeforacause/${{ secrets.UMBRACO_IMAGE_NAME }}:${{ github.run_number }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Pushing Docker image to Docker hub
run: docker push codeforacause/${{ secrets.UMBRACO_IMAGE_NAME }}:${{ github.run_number }}
- name: Replace tokens
uses: cschleiden/replace-tokens@v1.1
with:
tokenPrefix: '#{'
tokenSuffix: '}#'
files: '["docker-compose.production.yaml"]'
env:
TAG_NUMBER: "${{ github.run_number }}"
DATABASE_PORT: "${{ secrets.DATABASE_PORT }}"
DATABASE_PASSWORD: "${{ secrets.DATABASE_PASSWORD }}"
UMBRACO_IMAGE_NAME: "${{ secrets.UMBRACO_IMAGE_NAME }}"
UMBRACO_PORT: "${{ secrets.UMBRACO_PORT }}"
ASPNETCORE_ENVIRONMENT: "${{ secrets.ASPNETCORE_ENVIRONMENT }}"
CONNECTION_STRING: "${{ secrets.CONNECTION_STRING }}"
- name: Copy docker compose file via SSH password
uses: appleboy/scp-action@master
with:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/Hakaton.SlobodaNemaCenu/.vs
/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/appsettings.Development.json
**/.env
**/.idea/
26 changes: 26 additions & 0 deletions Hakaton.SlobodaNemaCenu/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app

ENV ASPNETCORE_URLS=http://*:5113


FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY . .
RUN dotnet restore

FROM build AS publish

RUN dotnet build -c Release -o /app/build
RUN dotnet publish -c Release -o /app/publish

RUN cp -R /src/Hakaton.SlobodaNemaCenu.Web/wwwroot/ /app/publish/
RUN cp -R /src/Hakaton.SlobodaNemaCenu.Web/Views/ /app/publish/
RUN cp -R /src/Hakaton.SlobodaNemaCenu.Web/Media/ /app/publish/

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

EXPOSE 5113
ENTRYPOINT ["dotnet", "Hakaton.SlobodaNemaCenu.Web.dll"]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/.DS_store
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,22 @@
"Id": "ad6c5078-c629-41d6-93aa-e691f62ec530",
"SanitizeTinyMce": true
},
"ModelsBuilder": {
"ModelsMode": "SourceCodeManual",
"ModelsDirectory": "Models/Generated",
"AcceptUnsafeModelsDirectory": true,
"ModelsNamespace": "Hakaton.SlobodaNemaCenu.Web.Models.Generated"
},
"Content": {
"AllowEditInvariantFromNonDefault": true,
"ContentVersionCleanupPolicy": {
"EnableCleanup": true
}
}
}
},
"ConnectionStrings": {
"umbracoDbDSN": "Server=NSOBO1;Database=Hakaton.SlobodaNemaCenu;User Id=diplomat;Password=diplomat",
"umbracoDbDSN_ProviderName": "Microsoft.Data.SqlClient"
}

}
13 changes: 13 additions & 0 deletions docker-compose.production.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
version: "3.9"

services:
umbraco:
image: codeforacause/#{UMBRACO_IMAGE_NAME}#:#{TAG_NUMBER}#
container_name: "slobodanemacenu_umbraco"
ports:
- "#{UMBRACO_PORT}#:5113"
environment:
- ASPNETCORE_ENVIRONMENT=#{ASPNETCORE_ENVIRONMENT}#
- ConnectionStrings__umbracoDbDSN=#{CONNECTION_STRING}#
volumes:
- ./data/media/:/app/Media
- ./data/uploads/:/app/uploads
- ./data/wwwroot/uploads/:/app/wwwroot/uploads
restart: always
database:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: "slobodanemacenu_database"
Expand Down
17 changes: 17 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
version: "3.9"

services:
umbraco:
container_name: "slobodanemacenu_umbraco"
build:
context: ./Hakaton.SlobodaNemaCenu
dockerfile: Dockerfile
ports:
- "${UMBRACO_PORT}:5113"
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ConnectionStrings__umbracoDbDSN=${CONNECTION_STRING}
volumes:
- ./data/media/:/app/Media
- ./data/uploads/:/app/uploads
- ./data/wwwroot/uploads/:/app/wwwroot/uploads
restart: always
env_file:
- .env
database:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: "slobodanemacenu_database"
Expand Down

0 comments on commit 1f306a0

Please sign in to comment.