8000 GitHub - EdiWang/Moonglade: Blog system of https://edi.wang, runs on Microsoft Azure
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

EdiWang/Moonglade

Repository files navigation

🌙 Moonglade Blog

Moonglade is a personal blogging platform built for developers, optimized for seamless deployment on Microsoft Azure. It features essential blogging tools: posts, comments, categories, tags, archives, and pages.

🚀 Deployment

  • Stable Code: Always use the Release branch. Avoid deploying from master.
  • Security: Enable HTTPS and HTTP/2 on your web server for optimal security and performance.
  • Deployment Options: While Azure is recommended, Moonglade can run on any cloud provider or on-premises.
  • China Regulation: In China, Moonglade runs in read-only mode due to local regulations. If you are in China, please consider alternative platforms.

Full Azure Deployment

This mirrors how edi.wang is deployed, utilizing a variety of Azure services for maximum speed and security. No automated script is provided—manual resource creation is required.

Azure Architecture

Quick Azure Deploy (App Service on Linux)

Get started in 10 minutes with minimal Azure resources using our automated deployment script.

🛠️ Development

Tools Alternatives
Visual Studio 2022 VS Code + .NET 8.0 SDK
SQL Server 2022 LocalDB, PostgreSQL, or MySQL

Database Setup

Tip: SQL Server Express (free) is sufficient for most production uses.

Database Example Connection String (appsettings.json > ConnectionStrings > MoongladeDatabase)
SQL Server Server=(local);Database=moonglade;Trusted_Connection=True;
MySQL Server=localhost;Port=3306;Database=moonglade;Uid=root;Pwd=***;
PostgreSQL User ID=***;Password=***;Host=localhost;Port=5432;Database=moonglade;Pooling=true;

Build & Run

  1. Build and run ./src/Moonglade.sln
  2. Access your blog:
    • Home: https://localhost:17251
    • Admin: https://localhost:17251/admin
      • Default username: admin
      • Default password: admin123

⚙️ Configuration

Most settings are managed in appsettings.json. For blog settings, use the /admin/settings UI.

Authentication

  • By default: Local accounts (manage via /admin/settings/account)
  • Microsoft Entra ID (Azure AD) supported. Setup guide

Image Storage

Configure the ImageStorage section in appsettings.json to choose where blog images are stored.

Azure Blob Storage (Recommended)

Create an Azure Blob Storage container with appropriate permissions:

{
  "Provider": "azurestorage",
  "AzureStorageSettings": {
    "ConnectionString": "YOUR_CONNECTION_STRING",
    "ContainerName": "YOUR_CONTAINER_NAME"
  }
}
  • Enable CDN in admin settings for faster image delivery.

MinIO Blob Storage

Set up a MinIO Server:

{
  "Provider": "miniostorage",
  "MinioStorageSettings": {
    "EndPoint": "localhost:9600",
    "AccessKey": "YOUR_ACCESS_KEY",
    "SecretKey": "YOUR_SECRET_KEY",
    "BucketName": "YOUR_BUCKET_NAME",
    "WithSSL": false
  }
}

File System (Not recommended)

Windows:

{
  "Provider": "filesystem",
  "FileSystemPath": "C:\\UploadedImages"
}

Linux:

{
  "Provider": "filesystem",
  "FileSystemPath": "/var/UploadedImages"
}

Comment Moderation

Enable comment moderation via the Moonglade.ContentSecurity Azure Function:

"ContentModerator": {
  "Provider": "",
  "ApiEndpoint": "",
  "ApiKey": ""
}

Email Notifications

For notifications on new comments, replies, webmentions, and pingbacks, use Moonglade.Email Azure Function:

"Email": {
  "ApiEndpoint": "",
  "ApiKey": ""
}

Enable notifications in the admin portal.

More Settings

📡 Protocols & Standards

Name Feature Status Endpoint
RSS Subscription Supported /rss
Atom Subscription Supported /atom
OPML Subscription Supported /opml
Open Search Search Supported /opensearch
Pingback Social Supported /pingback
Webmention Social Supported /webmention
Reader View Reader Mode Supported N/A
FOAF Social Supported /foaf.xml
IndexNow SEO Supported N/A
RSD Discovery Deprecated N/A
MetaWeblog Blogging Deprecated N/A
Dublin Core SEO Basic N/A

🇨🇳 免责申明

对于中国访客,我们有一份特供的免责申明。请确保你已经阅读并理解其内容:免责申明(仅限中国访客)

0