Skip to content

ludero-git/website-umbraco

Repository files navigation

Ludero.Site

Umbraco 13 CMS website for Ludero, built on the uSkinned Charity starter kit.

Tech stack

Layer Technology
Runtime .NET 8 / ASP.NET Core
CMS Umbraco 13.13.0
Theme uSkinned SiteBuilder 6.4.3 (Charity starter kit)
Views Razor (.cshtml)
Database (dev) SQLite
Database (prod) Microsoft SQL Server 2022

Prerequisites

  • .NET 8 SDK
  • Visual Studio 2022, JetBrains Rider, or VS Code with the C# Dev Kit extension

Local development

git clone <repo-url>
cd website-umbraco
dotnet run --project Ludero.Site

Or open LuderoCMS.slnx in Visual Studio and press F5.

The site is available at http://localhost:4133 / https://localhost:44362.

On first run Umbraco performs an unattended install using appsettings.Development.json. Default admin credentials and the SQLite connection string are in that file. The backoffice is at /umbraco.

Docker

The repository ships a multi-stage Dockerfile. The image listens on HTTP port 8080 and is designed to run behind a reverse proxy that handles HTTPS termination.

Build locally

docker build -t ludero-site .
docker run --rm -p 8080:8080 ludero-site

GitHub Container Registry

A GitHub Actions workflow (.github/workflows/docker-publish.yml) builds and pushes the image to the repository's package registry on every push to main:

ghcr.io/<owner>/website-umbraco:latest
ghcr.io/<owner>/website-umbraco:sha-<commit>

The workflow uses GITHUB_TOKEN — no extra secrets are needed.

First-time setup: The package visibility defaults to private. Go to the package settings on GitHub and set it to public, or configure pull credentials in your deployment.

Docker Compose (production)

docker-compose.example.yml shows a full stack with the site and a SQL Server 2022 container.

  1. Copy the example files:

    cp docker-compose.example.yml docker-compose.yml
    cp .env.example .env
  2. Fill in .env (passwords, admin email, public URL).

  3. Start the stack:

    docker compose up -d

Umbraco will create the database and run the unattended install on first boot. Once the site is up, you can set Umbraco__CMS__Unattended__InstallUnattended=false in your env to prevent re-running the installer.

Environment variables

Variable Description
ConnectionStrings__umbracoDbDSN Full ADO.NET connection string
ConnectionStrings__umbracoDbDSN_ProviderName Microsoft.Data.SqlClient for SQL Server
Umbraco__CMS__Unattended__InstallUnattended true on first run, then false
Umbraco__CMS__Unattended__UnattendedUserEmail Admin account email
Umbraco__CMS__Unattended__UnattendedUserPassword Admin account password
Umbraco__CMS__WebRouting__UmbracoApplicationUrl Public base URL for absolute link generation
MSSQL_SA_PASSWORD SQL Server SA password (also used inside the connection string)
ACCEPT_EULA Must be Y to start the SQL Server container

Persistent volumes

Volume Container path Contents
umbraco-media /app/wwwroot/media Uploaded media files
umbraco-data /app/umbraco/Data Examine indexes, temp files
umbraco-logs /app/umbraco/Logs Application logs
mssql-data /var/opt/mssql SQL Server data files

Project structure

website-umbraco/
├── .github/workflows/          # CI — Docker build and publish
├── Dockerfile
├── .dockerignore
├── docker-compose.example.yml
├── .env.example
├── LuderoCMS.slnx              # Solution file
└── Ludero.Site/                # ASP.NET Core application
    ├── App_Plugins/            # Umbraco plugins (uSkinned backoffice)
    ├── Views/                  # Razor templates
    ├── wwwroot/                # Static assets (CSS, JS, images, media)
    ├── umbraco/                # Umbraco runtime data (logs, indexes)
    ├── appsettings.json        # Production configuration
    └── appsettings.Development.json  # Local dev configuration (excluded from git)

Secrets

appsettings.Development.json contains plaintext credentials and is excluded from git via .gitignore. Never commit it to a public remote. In production all secrets are passed as environment variables — never bake them into the image or docker-compose.yml.

License

MIT — Copyright 2026 Ludero

About

Ludero's website - Umbraco

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages