Complete user guide in English with step-by-step instructions.
Open English ManualVolledige gebruikershandleiding in het Nederlands met stap-voor-stap instructies.
Open Nederlandse HandleidingBuild Instructions
# Navigate to project root
cd C:\Path\To\WebPlanetFinance
# Run the build script
.\build-docker.ps1
# Build the Docker image
docker build -t financewebplanet:latest .
# Build with version information
docker build --build-arg VERSION=1.0.0 --build-arg BUILD_DATE=$(Get-Date -Format "yyyy-MM-dd") --build-arg GIT_COMMIT=$(git rev-parse HEAD) -t financewebplanet:latest .
# Start the application
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the application
docker-compose down
# Run the container
docker run -d --name financewebplanet \
-p 8080:8080 \
-v financewebplanet-data:/app/data \
-e ASPNETCORE_ENVIRONMENT=Production \
financewebplanet:latest
# View logs
docker logs -f financewebplanet
Access Instructions
| Command | Description |
|---|---|
docker ps |
List Running Containers |
docker images |
List Docker Images |
docker logs financewebplanet |
View Container Logs |
docker stop financewebplanet |
Stop Container |
docker restart financewebplanet |
Restart Container |
docker exec -it financewebplanet /bin/bash |
Access Container Shell |
Required Extensions:
# Install via VS Code command palette:
Ctrl+Shift+P → Extensions: Install Extensions
# Or via command line:
code --install-extension ms-azuretools.vscode-docker
code --install-extension ms-dotnettools.csdevkit
code --install-extension ms-dotnettools.csharp
Debugging Instructions
| Software | Version | Download Link | Purpose |
|---|---|---|---|
| Docker Desktop | 4.0+ | docker.com | Containerization |
| Visual Studio Code | 1.80+ | code.visualstudio.com | Code Editor |
| .NET 9.0 SDK | 9.0+ | dotnet.microsoft.com | Development Sdk |
| Git | 2.30+ | git-scm.com | Version Control |
Ssh Keys Description
# Generate SSH key on Plesk server
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
# Copy public key
cat ~/.ssh/id_rsa.pub
Add Ssh Key Github
Clone Description
# Navigate to domains directory
cd /var/www/vhosts/yourdomain.com/
# Clone the repository
git clone git@github.com:wnijkamp/WebPlanetFinance.git
# Navigate to project
cd WebPlanetFinance
Docker Build Description
# Build the Docker image
docker build -t financewebplanet:latest .
# Or with versioning
docker build \
--build-arg VERSION=$(git describe --tags --always) \
--build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--build-arg GIT_COMMIT=$(git rev-parse HEAD) \
-t financewebplanet:latest .
Env Config Description
# Create production environment file
cp .env.example .env.production
# Edit configuration
nano .env.production
Compose Setup Description
# Create production docker-compose file
cp docker-compose.yml docker-compose.production.yml
# Edit for production settings
nano docker-compose.production.yml
version: '3.8'
services:
web:
build: .
ports:
- "8080:8080"
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:8080
volumes:
- ./data:/app/data
- ./logs:/app/logs
restart: unless-stopped
networks:
- financeapp
networks:
financeapp:
driver: bridge
# Start the application
docker-compose -f docker-compose.production.yml up -d
# Verify deployment
docker-compose -f docker-compose.production.yml ps
docker-compose -f docker-compose.production.yml logs -f
Proxy Description
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Ssl Description
| Command | Description |
|---|---|
docker-compose -f docker-compose.production.yml restart |
Restart Application |
docker-compose -f docker-compose.production.yml logs -f |
View Logs |
docker system prune -a |
Cleanup Docker |
git pull origin main && docker-compose -f docker-compose.production.yml up -d --build |
Update Application |
# Create backup script
#!/bin/bash
BACKUP_DIR="/var/backups/financewebplanet"
DATE=$(date +%Y%m%d_%H%M%S)
# Backup database
cp ./data/finance.db $BACKUP_DIR/finance_$DATE.db
# Backup configuration
tar -czf $BACKUP_DIR/config_$DATE.tar.gz .env.production docker-compose.production.yml
/Admin/Settings/SmtpChoose your email provider:
smtp.gmail.com587your-email@gmail.com[Your Gmail App Password]your-email@gmail.comYour Company Name
smtp.office365.com587your-email@company.com[Your O365 Password]your-email@company.comYour Company Name
mail.yourdomain.com587 (or as provided)[Your SMTP Username][Your SMTP Password]noreply@yourdomain.comYour Company Name
Contact your hosting provider for SMTP server details.
When you send an invoice:
Customers receive a professional HTML email containing:
Track all email operations in the audit logs:
# Clean up Docker
docker system prune -a
# Restart Docker Desktop
# Check Docker daemon status
docker version
# Check container logs
docker logs financewebplanet
# Check container status
docker ps -a
# Monitor container resource usage
docker stats financewebplanet
# Check system resources
docker system df