ASP.NET Core + PostgreSQL
ASP.NET Core is Microsoftβs web framework for .NET: cross-platform, high-performance and with dependency injection, configuration and logging built into the framework.
This Stack combines it with PostgreSQL.
Included services
Besides your application, the Stack starts PostgreSQL, an nginx that receives traffic on port 80, an automatic backups service and the web file manager.
Project structure
.
βββ app
β βββ AspNetPostgres.csproj
β βββ Program.cs
βββ backup
β βββ backup-runner.sh
βββ nginx
β βββ default.conf
βββ .env.example
βββ app.Dockerfile
βββ compose.yaml
Getting started
Install the Stack and start it:
docker-deploy-stack --stack dotnet/aspnet-postgres
cd /root/stack/dotnet/aspnet-postgres
docker compose up -d
Then replace the example application with yours, from Git, via SFTP or from the web file manager, following how-do-i-deploy-an-application-in-a-stack.md. Your code goes in the app/ folder.
Each time you update the code, apply the changes:
docker compose up -d --build
Configuration
Editable values are in the Stackβs .env file:
| Variable | Default | What it does |
|---|---|---|
APP_PORT |
80 |
Public port of the Stack. |
APP_ENV |
development |
Application environment. |
DB_NAME |
aspnet |
Database name. |
DB_USER |
aspnet |
Database user. |
BACKUP_ENABLED |
1 |
Automatic backups: 1 enabled, 0 disabled. |
BACKUP_INTERVAL_SECONDS |
86400 |
Interval in seconds between backups. |
BACKUP_RETENTION_DAYS |
7 |
How many days backups are retained. |
POSTGRES_VERSION |
16-alpine |
Version of the corresponding image. |
After changing it, apply the changes with docker compose up -d.
Useful commands
docker compose ps # list the containers that are running
docker compose logs -f # view live logs
docker compose restart # restart the services
docker compose down # stop and remove the containers