Initial Blazor birth registry app, theming, and services
Build and Push Docker Image / build-and-push (push) Successful in 1m14s
Build and Push Docker Image / build-and-push (push) Successful in 1m14s
Implemented a Blazor Web App (.NET 8) for a public-by-link birth registry platform, following project guidelines. Added domain entities, EF Core context, and Blazor components for authentication, registry management, and public views. Introduced core services for registries, theming, user context, platform owner bootstrapping, and SMTP email. Included static assets (Bootstrap, favicon), launch settings, Dockerfile, CI workflow, and deployment configs. Added bootstrap.min.css.map for improved CSS debugging.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# Deployment templates
|
||||
|
||||
## Gitea build pipeline
|
||||
- Workflow file: `.gitea/workflows/build-and-push.yml`
|
||||
- Pushes Docker image tags to: `git.arnemoerman.be/arne/birthlist`
|
||||
- `latest`
|
||||
- datetime tag (`yyyyMMddHHmm`)
|
||||
|
||||
## Portainer stack
|
||||
- Stack file: `deploy/portainer-stack.yml`
|
||||
- Env template: `deploy/portainer-stack.env.example`
|
||||
|
||||
## Notes
|
||||
- Set `PAT_TOKEN` secret in Gitea for registry login.
|
||||
- Ensure external Docker network `caddy-net` exists.
|
||||
- OAuth/SMTP env values can stay empty for MVP; related features will be disabled.
|
||||
@@ -0,0 +1,17 @@
|
||||
# Required for SQL Server container and app DB connection
|
||||
SA_PASSWORD=ChangeThisToAStrongPassword123!
|
||||
|
||||
# Optional OAuth (leave empty to disable provider at runtime)
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
MICROSOFT_CLIENT_ID=
|
||||
MICROSOFT_CLIENT_SECRET=
|
||||
|
||||
# SMTP (leave username/password/from address empty to disable mail features)
|
||||
SMTP_HOST=smtp.gmail.com
|
||||
SMTP_PORT=587
|
||||
SMTP_ENABLE_SSL=true
|
||||
SMTP_USERNAME=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_FROM_ADDRESS=
|
||||
SMTP_FROM_NAME=Birth Registry
|
||||
@@ -0,0 +1,68 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
birthlist:
|
||||
image: git.arnemoerman.be/arne/birthlist:latest
|
||||
container_name: birthlist
|
||||
ports:
|
||||
- "5022:8080"
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Production
|
||||
- ASPNETCORE_URLS=http://+:8080
|
||||
- Data__Provider=SqlServer
|
||||
- ConnectionStrings__DefaultConnection=Server=mssql;User Id=sa;Password=${SA_PASSWORD};Initial Catalog=BirthList;Encrypt=false;TrustServerCertificate=true
|
||||
- Authentication__Google__ClientId=${GOOGLE_CLIENT_ID}
|
||||
- Authentication__Google__ClientSecret=${GOOGLE_CLIENT_SECRET}
|
||||
- Authentication__Microsoft__ClientId=${MICROSOFT_CLIENT_ID}
|
||||
- Authentication__Microsoft__ClientSecret=${MICROSOFT_CLIENT_SECRET}
|
||||
- Smtp__Host=${SMTP_HOST}
|
||||
- Smtp__Port=${SMTP_PORT}
|
||||
- Smtp__EnableSsl=${SMTP_ENABLE_SSL}
|
||||
- Smtp__UserName=${SMTP_USERNAME}
|
||||
- Smtp__Password=${SMTP_PASSWORD}
|
||||
- Smtp__FromAddress=${SMTP_FROM_ADDRESS}
|
||||
- Smtp__FromName=${SMTP_FROM_NAME}
|
||||
depends_on:
|
||||
- mssql
|
||||
networks:
|
||||
- birthlist-network
|
||||
- caddy-net
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
|
||||
mssql:
|
||||
image: mcr.microsoft.com/mssql/server:2022-latest
|
||||
container_name: birthlist-db
|
||||
environment:
|
||||
- ACCEPT_EULA=Y
|
||||
- SA_PASSWORD=${SA_PASSWORD}
|
||||
- MSSQL_PID=Developer
|
||||
ports:
|
||||
- "1433:1433"
|
||||
volumes:
|
||||
- birthlist-mssql-data:/var/opt/mssql
|
||||
networks:
|
||||
- birthlist-network
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "/opt/mssql-tools/bin/sqlcmd", "-S", "localhost", "-U", "sa", "-P", "${SA_PASSWORD}", "-Q", "SELECT 1"]
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
start_period: 20s
|
||||
|
||||
networks:
|
||||
birthlist-network:
|
||||
driver: bridge
|
||||
caddy-net:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
birthlist-mssql-data:
|
||||
Reference in New Issue
Block a user