chore: add project configuration and infrastructure

This commit establishes the base configuration and deployment settings.
This commit is contained in:
Stevan Freeborn
2026-01-04 21:09:17 -06:00
parent 2df6bff9a7
commit 18b8dec374
5 changed files with 16 additions and 2 deletions
+1
View File
@@ -27,6 +27,7 @@ insert_final_newline = false
dotnet_diagnostic.IDE0058.severity = none
dotnet_diagnostic.IDE0100.severity = none
dotnet_diagnostic.IDE3000.severity = none
dotnet_diagnostic.CA1848.severity = none
# Organize usings
dotnet_separate_import_directive_groups = true
+5 -1
View File
@@ -32,7 +32,7 @@ jobs:
- name: Build and push server image
run: |
TAG=${{ secrets.DOCKERHUB_USERNAME }}/groundsforsupport.stevanfreeborn.com:${{ steps.version.outputs.version }}
docker build -t $TAG src/
docker build --build-arg VITE_STRIPE_API_KEY=${{ secrets.VITE_STRIPE_API_KEY }} -t $TAG src/
docker push $TAG
deploy:
name: Deploy to server
@@ -60,5 +60,9 @@ jobs:
--restart always \
-d \
-p 4343:8080 \
-e StripeOptions__ApiKey=${{ secrets.STRIPE_API_KEY }} \
-e StripeOptions__EventsWebhookSecret=${{ secrets.STRIPE_EVENTS_WEBHOOK_SECRET }} \
-e ContextOptions__DatabaseFilePath=/app/data/groundsforsupport.db \
-v /home/${{ secrets.SSH_USERNAME }}/groundsforsupport.stevanfreeborn.com/data:/app/data \
--name groundsforsupport.stevanfreeborn.com \
$TAG
+3
View File
@@ -6,6 +6,9 @@
appsettings*.json
!appsettings.Example.json
wwwroot/
*.db
*.db-shm
*.db-wal
# dotenv files
.env
+2
View File
@@ -12,6 +12,8 @@ RUN apt-get update && \
COPY ["GroundsForSupport.Server/GroundsForSupport.Server.csproj", "GroundsForSupport.Server/"]
RUN dotnet restore "GroundsForSupport.Server/GroundsForSupport.Server.csproj"
ARG VITE_STRIPE_API_KEY
ENV VITE_STRIPE_API_KEY=$VITE_STRIPE_API_KEY
COPY . .
WORKDIR "/src/GroundsForSupport.Server"
RUN dotnet build "GroundsForSupport.Server.csproj" -c Release -o /app/build
@@ -1,5 +1,9 @@
{
"StripeOptions": {
"ApiKey": "ApiKey"
"ApiKey": "ApiKey",
"EventsWebhookSecret": "EventsWebhookSecret"
},
"ContextOptions": {
"DatabaseFilePath": "DatabaseFilePath"
}
}