Skip to content

Commit a303bc2

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents ae05a8c + 093cfee commit a303bc2

40 files changed

+16777
-400
lines changed

MyApp/Pages/Posts/Post.cshtml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,12 @@ init()
307307
<script src="js/lite-yt-embed.js"></script>
308308
<script src="mjs/docs.mjs" type="module"></script>
309309

310+
@if (docMjs != null)
311+
{
312+
@await Html.PartialAsync("AsciiCinemaIncludes")
313+
@await Html.PartialAsync("MermaidIncludes")
314+
}
315+
310316
<script type="module">
311317
import { mount } from "app.mjs"
312318
@if (docMjs != null)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<link rel="stylesheet" href="/css/asciinema-player.css">
2+
<script src="/lib/js/asciinema-player.js"></script>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<link rel="stylesheet" href="/codemirror/lib/codemirror.css">
2+
<link rel="stylesheet" href="/codemirror/theme/mocha.css" />
3+
<script src="/codemirror/lib/codemirror.js"></script>
4+
<script src="/codemirror/mode/javascript/javascript.js"></script>
5+
<script src="/codemirror/addon/edit/matchbrackets.js"></script>
6+
<script src="/codemirror/addon/selection/active-line.js"></script>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<script type="module">
2+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
3+
mermaid.initialize({
4+
startOnLoad: true,
5+
theme: 'base',
6+
'themeVariables': {
7+
'primaryColor': '#fff',
8+
'lineColor': '#333',
9+
'primaryBorderColor': 'rgb(67 56 202)', // text-indigo-700
10+
'secondaryColor': '#fff',
11+
'primaryTextColor': '#333',
12+
'tertiaryColor': '#333'
13+
}
14+
});
15+
</script>
16+
<style>
17+
pre.mermaid {
18+
background-color: #fff !important;
19+
}
20+
.dark pre.mermaid {
21+
background-color: #000 !important; /*bg-gray-800*/
22+
}
23+
.dark pre.mermaid .edgeLabel, .dark pre.mermaid .edgeLabel p, .dark pre.mermad .labelBkg {
24+
background-color: #000 !important;
25+
}
26+
.dark pre.mermaid .edgeLabel, .dark pre.mermaid .edgeLabel p {
27+
color: rgb(209 213 219) !important;
28+
}
29+
.dark pre.mermaid .flowchart-link {
30+
stroke: rgb(209 213 219) !important;
31+
}
32+
.dark pre.mermaid .node rect {
33+
stroke: #fff !important;
34+
}
35+
.dark pre.mermaid .marker.flowchart-v2 {
36+
stroke: #fff !important;
37+
fill: #fff !important;
38+
}
39+
</style>
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
---
2+
title: ServiceStack v8.5 Release
3+
tags: [release,ai-server,jobs,api]
4+
summary: The latest features in ServiceStack v8.5 covering release of AI Server and Kamal Deployments and more!
5+
url: https://media.servicestack.com/podcasts/v8-5-release.mp3
6+
media: {size:3254828,duration:813.648000,format:mp3}
7+
---
8+
9+
This episode covers the ServiceStack v8.5 release which introduces AI Server, a self-hosted Docker gateway
10+
managing API access to various AI services like LLMs and ComfyUI. It offers centralized management, load balancing
11+
across multiple providers, and native typed integrations for numerous languages.
12+
13+
Key features include live monitoring, protected access with API keys, and built-in UIs.
14+
15+
The release also includes improvements to deployment using Kamal, updates to the Swift 6 client library,
16+
and enhanced support for multiple file uploads in API requests.
17+
18+
Finally, the update simplifies accessing OpenAI Chat compatible APIs across multiple languages.
19+
20+
### Getting Started
21+
22+
Try out the new [Kamal Deployments](/posts/kamal-deployments) features now in all the latest .NET 8 templates:
23+
24+
<project-creator v-slot="x">
25+
<project-template :name="x.text" repo="NetCoreTemplates/blazor" :tags="['tailwind']">
26+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">Blazor</div>
27+
<template #icon>
28+
<img class='w-12 h-12' src="/img/svgs/blazor.svg">
29+
</template>
30+
</project-template>
31+
<project-template :name="x.text" repo="NetCoreTemplates/blazor-vue" :tags="['tailwind']">
32+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">Blazor Vue</div>
33+
<template #icon>
34+
<img class='w-12 h-12' src="/img/svgs/blazor.svg">
35+
</template>
36+
</project-template>
37+
<project-template :name="x.text" repo="NetCoreTemplates/blazor-wasm" :tags="['tailwind']">
38+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">Blazor WASM</div>
39+
<template #icon>
40+
<img class='w-12 h-12' src="/img/svgs/blazor.svg">
41+
</template>
42+
</project-template>
43+
<project-template :name="x.text" repo="NetCoreTemplates/web" :tags="['empty']">
44+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">Web</div>
45+
<template #icon>
46+
<img class='w-12 h-12' src="/img/svgs/servicestack-indigo.svg">
47+
</template>
48+
</project-template>
49+
<project-template :name="x.text" repo="NetCoreTemplates/mvc" :tags="['tailwind']">
50+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">MVC</div>
51+
<template #icon>
52+
<img class='w-12 h-12' src="/img/svgs/windows.svg">
53+
</template>
54+
</project-template>
55+
<project-template :name="x.text" repo="NetCoreTemplates/razor" :tags="['tailwind']">
56+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">Razor Pages</div>
57+
<template #icon>
58+
<img class='w-12 h-12' src="/img/svgs/razor.svg">
59+
</template>
60+
</project-template>
61+
<project-template :name="x.text" repo="NetCoreTemplates/mvc-bootstrap" :tags="['bootstrap']">
62+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">MVC</div>
63+
<template #icon>
64+
<img class='w-12 h-12' src="/img/svgs/windows.svg">
65+
</template>
66+
</project-template>
67+
<project-template :name="x.text" repo="NetCoreTemplates/razor-bootstrap" :tags="['bootstrap']">
68+
<div class="mb-3 text-xl font-medium text-gray-700 dark:text-gray-200">Razor Pages</div>
69+
<template #icon>
70+
<img class='w-12 h-12' src="/img/svgs/razor.svg">
71+
</template>
72+
</project-template>
73+
</project-creator>
74+
75+
### Videos
76+
77+
:::youtube Ojo80oFQte8
78+
Introducing AI Server
79+
:::
80+
81+
:::youtube -mDJfRG8mLQ
82+
Use Kamal with GitHub Actions to deploy .NET Apps to any Linux server
83+
:::
84+
85+
### Links
86+
87+
- [ServiceStack v8.5 Release Notes](https://docs.servicestack.net/releases/v8_05)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: .NET 8 Templates migrated to use Kamal for deployments
3+
summary: All Identity Auth templates now use Kamal for deployments, simplifying the process of deploying .NET Apps to any Linux server.
4+
tags: [github-actions,docker,devops]
5+
url: https://media.servicestack.com/podcasts/kamal-deployments.mp3
6+
media: {size:5227532,duration:1306.824000,format:mp3}
7+
---
8+
9+
This episode explores the shift in deployment strategy for .NET applications using the [Kamal deployment](https://kamal-deploy.org/) tool.
10+
11+
Previously, a less streamlined process involving SSH and Docker Compose was used. Now, all Identity Auth
12+
templates utilize Kamal, a CLI tool simplifying deployments to any Linux server accessible via SSH.
13+
Kamal automates tasks such as reverse proxy setup and TLS certificate management.
14+
15+
The integration with GitHub Actions maintains CI/CD benefits while improving local management via Kamal's commands.
16+
The authors express enthusiasm for Kamal's ease of use and potential for community growth.
17+
18+
### Videos
19+
20+
:::youtube -mDJfRG8mLQ
21+
Use Kamal with GitHub Actions to deploy .NET Apps to any Linux server
22+
:::
23+
24+
### Links
25+
26+
- [Blog Post](/posts/kamal-deployments)

MyApp/_posts/2024-11-20_kamal-deploy-templates.md renamed to MyApp/_posts/2024-11-26_kamal-deployments.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
2-
title: Templates moving to Kamal for deployments
3-
summary: We are adopting Kamal for deployments in our templates, which simplifies the deployment process...
2+
title: .NET 8 Templates migrated to use Kamal for deployments
3+
summary: All Identity Auth templates now use Kamal for deployments, simplifying the process of deploying .NET Apps to any Linux server.
44
tags: [github-actions,docker,devops]
55
author: Darren Reid
66
image: https://images.unsplash.com/photo-1494961104209-3c223057bd26?crop=entropy&fit=crop&h=1000&w=2000
7+
draft: true
78
---
89

910
Since introducing GitHub Actions support to our templates, we've promoted the simplified deployments, focusing on tooling like SSH and Docker Compose to give the most portability to projects by default. This was partly inspired by the fact that cloud providers value offerings have been decreasing, especially over the last 5 years. We then showed in a [previous blog post how much money can be saved](/posts/hetzner-cloud) by considering the use of hosting providers like Hetzner (who we have been using for many years), and moved all our templates and live demos to Hetzner resulting in a roughly $0.50 per month cost per application.
@@ -12,6 +13,12 @@ Along with this decreasing in value from the major cloud vendors, and the genera
1213

1314
We were delighted to see that the folks over at BaseCamp doubled down on these same types of tooling by releasing the MRSK project, which is now known as Kamal.
1415

16+
### Use Kamal to deploy .NET Apps to any Linux server
17+
18+
:::youtube -mDJfRG8mLQ
19+
Use Kamal with GitHub Actions to deploy .NET Apps to any Linux server
20+
:::
21+
1522
## What is [Kamal](https://kamal-deploy.org/)?
1623

1724
Kamal is a tool that offers the same flexibility by wrapping up the use of fundamental tooling like SSH and Docker into a great CLI tool that tries to make the management of containerized applications, enabling them to be deployed anywhere there is a Linux host that is accessible via SSH. It handles reverse proxy of web traffic automatically, as well as even the initial setup of the reverse proxy and related tooling to any target Linux host.
@@ -106,4 +113,4 @@ Once created, you can follow the steps in your empty repository to init your tem
106113
107114
## Summary
108115
109-
We're excited to be moving our templates to Kamal for deployments as it has distilled the simply approach we have baked in our templates for a number of years while massively improving the ergonomics. We're excited to see what the BaseCamp team does with the project, and we're looking forward to seeing the community grow around it. If you have any questions about the templates or Kamal, feel free to reach out to us on our Discord, GitHub Discussions or Customer Forums.
116+
We're excited to be moving our templates to Kamal for deployments as it has distilled the simple approach we have baked in our templates for a number of years while massively improving the ergonomics. We're excited to see what the BaseCamp team does with the project, and we're looking forward to seeing the community grow around it. If you have any questions about the templates or Kamal, feel free to reach out to us on our Discord, GitHub Discussions or Customer Forums.

0 commit comments

Comments
 (0)