Self-hosted, secure file collaboration platform ready to deploy on Microsoft Azure. Full Nextcloud Hub instance pre-configured with Nginx, Let's Encrypt TLS, PostgreSQL 16 and Redis — operational from first boot, designed for universities and research centres.
| Component | Value |
|---|---|
| Operating System | Ubuntu Server 24.04 LTS |
| Application | Nextcloud Hub 33 |
| Web Server | Nginx — reverse proxy + TLS termination |
| PHP Runtime | PHP-FPM 8.3 |
| Database | PostgreSQL 16 (127.0.0.1:5432) |
| Cache & Locking | Redis (127.0.0.1:6379) — session cache & file locking |
| TLS Certificates | Let's Encrypt via Certbot — auto-renewing |
| Provisioning | cloud-init — automatic configuration on first boot |
| Recommended VMs | B2s, D2s_v3, D4s_v3, D8s_v3 (Azure) |
Upload, share, version and co-edit documents — with desktop sync clients and mobile apps included.
PostgreSQL and Redis bound to localhost only. SSH access restricted by NSG rule. HTTPS enforced from first boot.
Native integration with Microsoft Entra ID (formerly Azure AD) via SAML or OIDC for single sign-on.
Compatible with Azure Monitor — host-level VM metrics collected automatically. Configure alerts and custom dashboards from the Azure Portal.
User files stored on a separate Azure managed data disk (/var/nextcloud-data) — independent of the OS disk for easy backup and resizing.
Ready in under 5 minutes from the Marketplace. Pre-configured for common Azure SKUs — B2s through D8s_v3.
Nextcloud upgrade path fully documented — step-by-step wiki guide for safe, in-place upgrades.
Your data stays on your Azure subscription. Suitable for sensitive research data and institutional compliance requirements.
After deployment from Azure Marketplace, your Nextcloud instance is immediately accessible.
In the Basics tab, set your VM name, region, size, SSH username and public key. In the Networking tab, create a static public IP and allow ports 22, 80 and 443.
⚠️ Advanced tab — Custom data (required): paste the following cloud-init block and replace the placeholder values. Without this, the first-boot service will fail and Nextcloud will not be installed.
#cloud-config
write_files:
- path: /etc/nextcloud/config.env
owner: root:root
permissions: "0600"
content: |
NC_ADMIN_USER=ncadmin
NC_ADMIN_PASSWORD=YourStrongPassword123!
NC_DB_PASSWORD=AnotherStrongPassword456!
REDIS_PASSWORD=RedisPassword789!
NC_ADMIN_USER / NC_ADMIN_PASSWORD — Nextcloud web admin credentials |
NC_DB_PASSWORD — PostgreSQL password |
REDIS_PASSWORD — Redis authentication.
The trusted domain is auto-detected at first boot via Azure IMDS — no domain parameter needed.
config.env is securely shredded after first boot.
# Connect to the VM
ssh -i ~/.ssh/<your-key> azureuser@<vm-public-ip>
# Check all services are running
systemctl status nginx php8.3-fpm postgresql redis-server
https://<vm-public-ip>
# or, once DNS is configured:
https://<your-domain>
Full step-by-step instructions in the documentation wiki.
| VM SKU | vCPU | RAM | Est. Monthly Cost | Recommended for |
|---|---|---|---|---|
| Standard_B2s | 2 | 4 GB | ~$35 USD | 1–10 users, dev/test, pilots |
| Standard_B4ms | 4 | 16 GB | ~$130 USD | 10–50 users, small teams |
| Standard_D2s_v3 | 2 | 8 GB | ~$70 USD | 10–30 users, consistent load |
| Standard_D4s_v3 | 4 | 16 GB | ~$140 USD | 30–100 users, departments |
| Standard_D8s_v3 | 8 | 32 GB | ~$280 USD | 100–300 users, research groups |
Costs are estimates based on pay-as-you-go pricing in East US. See Azure Pricing Calculator for your region. Full guide: vm-sizing-guide.md.
| Topic | EN | FR |
|---|---|---|
| Overview & Navigation | Home | Accueil |
| Deploying from Marketplace | Deploying-from-Marketplace | Déploiement |
| SSH Connection | SSH-Connection | Connexion SSH |
| Post-Deployment Verification | Post-Deployment-Verification | Vérification |
| HTTPS / TLS Certificate | HTTPS-TLS-Certificate | Certificat HTTPS |
| Configuring Nextcloud | Configuring-Nextcloud | Configuration |
| Managing Users | Managing-Users | Utilisateurs |
| Managing Apps | Managing-Apps | Applications |
| Updating Nextcloud | Updating-Nextcloud | Mise à jour |
| Backup & Restore | backup-restore.md | sauvegarde-restauration |
| Entra ID SSO | entra-id-sso.md | SSO Entra ID |
| Monitoring | monitoring.md | Supervision |
| Network Security | network-security.md | Sécurité réseau |
| Troubleshooting | Troubleshooting | Dépannage |