diff --git a/.gitea/workflows/kub-deploy.yml b/.gitea/workflows/kub-deploy.yml
new file mode 100644
index 0000000..f81277e
--- /dev/null
+++ b/.gitea/workflows/kub-deploy.yml
@@ -0,0 +1,90 @@
+name: Build and Deploy
+
+on:
+ push:
+ branches:
+ - kub-stage
+
+env:
+ REGISTRY: gitea-svc:3000
+ IMAGE_NAME: admin/frontoffice
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ container:
+ image: docker:latest
+ options: --privileged
+ env:
+ HTTP_PROXY: http://proxyuser:87zH26nbqT2@46.249.98.211:3128
+ HTTPS_PROXY: http://proxyuser:87zH26nbqT2@46.249.98.211:3128
+ NO_PROXY: localhost,127.0.0.1,gitea-svc,194.5.195.53,10.0.0.0/8
+ steps:
+ - name: Install dependencies
+ run: |
+ apk add --no-cache git curl
+
+ # Install kubectl
+ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
+ chmod +x kubectl
+ mv kubectl /usr/local/bin/
+
+ - name: Start Docker daemon with insecure registry
+ run: |
+ mkdir -p /etc/docker
+ cat > /etc/docker/daemon.json << 'DAEMON'
+ {
+ "insecure-registries": ["194.5.195.53:30080", "gitea-svc:3000"]
+ }
+ DAEMON
+ mkdir -p ~/.docker
+ cat > ~/.docker/config.json << 'CONF'
+ {
+ "proxies": {
+ "default": {
+ "httpProxy": "http://proxyuser:87zH26nbqT2@46.249.98.211:3128",
+ "httpsProxy": "http://proxyuser:87zH26nbqT2@46.249.98.211:3128",
+ "noProxy": "localhost,127.0.0.1,gitea-svc,194.5.195.53,10.0.0.0/8"
+ }
+ }
+ }
+ CONF
+ dockerd &
+ for i in $(seq 1 30); do
+ docker info >/dev/null 2>&1 && break || sleep 2
+ done
+ docker info
+
+ - name: Checkout code
+ run: |
+ git clone --depth 1 --branch kub-stage http://gitea-svc:3000/admin/FrontOffice.git .
+ git log -1 --format="%H %s"
+
+ - name: Build Docker Image
+ run: |
+ cd src
+ docker build -f FrontOffice/Dockerfile \
+ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }} \
+ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \
+ --build-arg HTTP_PROXY=http://proxyuser:87zH26nbqT2@46.249.98.211:3128 \
+ --build-arg HTTPS_PROXY=http://proxyuser:87zH26nbqT2@46.249.98.211:3128 \
+ .
+
+
+ - name: Push to Registry
+ run: |
+ echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ env.REGISTRY }} -u admin --password-stdin
+ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
+ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
+
+ - name: Deploy to Kubernetes
+ run: |
+ # Setup kubeconfig
+ mkdir -p ~/.kube
+ echo "${{ secrets.KUBECONFIG }}" | base64 -d > ~/.kube/config
+
+ # Restart deployment to pull new image
+ kubectl rollout restart deployment/frontoffice || echo "Deployment doesn't exist yet"
+
+ # Wait for rollout to complete
+ kubectl rollout status deployment/frontoffice --timeout=5m || echo "Deployment rollout pending"
diff --git a/src/.dockerignore b/src/.dockerignore
new file mode 100644
index 0000000..cd967fc
--- /dev/null
+++ b/src/.dockerignore
@@ -0,0 +1,25 @@
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/.idea
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
\ No newline at end of file
diff --git a/src/FrontOffice.Main/Dockerfile b/src/FrontOffice.Main/Dockerfile
new file mode 100644
index 0000000..fa47b77
--- /dev/null
+++ b/src/FrontOffice.Main/Dockerfile
@@ -0,0 +1,24 @@
+FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
+USER $APP_UID
+WORKDIR /app
+EXPOSE 8080
+EXPOSE 8081
+
+FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["FrontOffice.Main/NuGet.config", "NuGet.config"]
+COPY ["FrontOffice.Main/FrontOffice.Main.csproj", "FrontOffice.Main/"]
+RUN dotnet restore "FrontOffice.Main/FrontOffice.Main.csproj" --configfile NuGet.config
+COPY . .
+WORKDIR "/src/FrontOffice.Main"
+RUN dotnet build "./FrontOffice.Main.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./FrontOffice.Main.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "FrontOffice.Main.dll"]
diff --git a/src/FrontOffice.Main/FrontOffice.Main.csproj b/src/FrontOffice.Main/FrontOffice.Main.csproj
index 64ba205..2431952 100644
--- a/src/FrontOffice.Main/FrontOffice.Main.csproj
+++ b/src/FrontOffice.Main/FrontOffice.Main.csproj
@@ -5,18 +5,24 @@
enable
enable
6dab807c-c6d8-4711-bf64-11c69e8d39f4
+ Linux
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29,17 +35,24 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ .dockerignore
+
+
diff --git a/src/FrontOffice.Main/NuGet.config b/src/FrontOffice.Main/NuGet.config
new file mode 100644
index 0000000..81da29b
--- /dev/null
+++ b/src/FrontOffice.Main/NuGet.config
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/FrontOffice.Main/appsettings.json b/src/FrontOffice.Main/appsettings.json
index b7ee45f..80f39ed 100644
--- a/src/FrontOffice.Main/appsettings.json
+++ b/src/FrontOffice.Main/appsettings.json
@@ -1,5 +1,5 @@
{
- "GwUrl": "https://fogw.kbs1.ir",
+ "GwUrl": "http://backoffice-bff-svc",
// "GwUrl": "https://localhost:34781",
"DownloadUrl": "https://dl.afrino.co",
"EncryptionSettings": {