Panda is a blogging system that runs on ASP.NET Core 2, Angular 4, and SqlServer.
Panda requires .NET Core 2 and Node.js. We highly recommend using Microsoft's Azure web application offering. There's a free pricing tier so you can try things out. Then it's less than $10 a month for the pricing tier which allows you to attach a custom domain.
Panda does not support multiple instances or container hosting at this time, so you should choose to "scale up" rather than "scale out" if you need to handle more traffic to your blog. Support for container hosting is coming soon!
If you're hosting on Azure, we recommend auto deploying your blog files from GitHub.
- Fork Panda on GitHub
- In Azure Portal, add a "Web App + SQL" instance. Pay attention to the service plans / pricing tiers. You probably want to go with the cheapest. You can always change this later.
- Under "Application Settings" in the Azure portal, set your app to use a recent version of Node.js by adding the
WEBSITE_NODE_DEFAULT_VERSION
setting and setting its value to8.1.4
. - Set the
SCM_COMMAND_IDLE_TIMEOUT
setting to a value of900
. This keeps the deployment from timing out since it can take a while for the app to build and deploy. - (Optional) If you happen to be deploying from a branch other than master, then you'll want to add the
SCM_USE_LIBGIT2SHARP_REPOSITORY
setting with a value of0
(zero). This avoids a bug that currently exists with libgit2sharp. - Under "Deployment Options" in the Azure portal, configure the deployment source to use your new fork of Panda on GitHub.
As of Panda version 1.1, the only configuration that is necessary is to set the database connection string for the application. You will find the DefaultConnection
connection string defined inside the appsettings.json
file. You will need to configure this connection string to point to the SqlServer and database that you wish to use. When Panda starts for the first time, it will create the tables and seed the data that it needs to run. No need to manually execute any sql scripts to install Panda.
Running Panda locally requires that you have the .NET Core 2 SDK, Node.js, and some flavor of SQL Server installed. Once you have these dependencies installed, you're ready to run Panda.
- Download the Panda binaries for latest version and unzip them to your desired directory.
- Open your favorite command line and navigate to the directory where you unzipped the Panda binaries.
- Run
dotnet panda.web.dll
- Acquired the Panda source by either cloning the git repository or downloading the source to your computer.
- Open your favorite command line and navigate tot he directory where the Panda source files live.
- Change directories to the
/src/Panda.Web/
folder. - Run
npm install
- Run
dotnet run
- Acquired the Panda source by either cloning the git repository or downloading the source to your computer.
- Open Panda.sln
- Make sure the Panda.Web project is selected in the solution explorer pane, and hit F5 to start the app with debugging.
There's a conflict with more recent versions of the enhanced-resolve
package dependency. One solution is to 'pin' the version of enhanced-resolve
to version 3.3.0
. More information here. As of this writing, enhanced-resolve
should be pinned to this version in both the npm-shrinkwrap.json file and the yarn.lock file.
This happens when the deploy commands take too long to execute. You can resolve this by setting the SCM_COMMAND_IDLE_TIMEOUT
app setting to 900
(900 seconds == 15 minutes) for your app in the Azure portal. More information here.