Skip to main content
Version: 0.5.3

Wiki.js on Aruba Cloud

Deploy Wiki.js — a modern, open-source wiki platform with Markdown support, full-text search, and pluggable authentication — on Aruba Cloud using Terraform and cloud-init. Uses Managed MySQL 8.0 as the database backend.

Provider version: arubacloud/arubacloud ~> 1.0 | Terraform: ≥ 1.9


Introduction​

Wiki.js is a lightweight, Node.js-based wiki that runs entirely in Docker. This example deploys:

  • Wiki.js via the official Docker image on a CSO2A4 VM
  • Managed MySQL 8.0 (Aruba Cloud DBaaS) for reliable, managed storage
  • Web UI on port 3000
  • Setup wizard on first access to create the admin account

Architecture Overview​


Infrastructure Created​

ResourceName patternDescription
arubacloud_projectwikijs-prodProject container
arubacloud_vpcwikijs-prod-vpcVirtual Private Cloud
arubacloud_subnetwikijs-prod-subnetBasic subnet
arubacloud_securitygroupwikijs-prod-vm-sgVM security group
arubacloud_securitygroupwikijs-prod-dbaas-sgDBaaS security group
arubacloud_securityrulewikijs-prod-vm-sshSSH ingress (22)
arubacloud_securityrulewikijs-prod-vm-httpWiki.js ingress (3000)
arubacloud_securityrulewikijs-prod-db-mysqlMySQL ingress (3306, VM IP only)
arubacloud_elasticipwikijs-prod-vm-eipVM public IP
arubacloud_elasticipwikijs-prod-dbaas-eipDBaaS public IP
arubacloud_dbaaswikijs-prod-dbaasMySQL 8.0 managed instance
arubacloud_databasewikijsDatabase schema
arubacloud_dbaasuserwikijsDatabase user
arubacloud_databasegrant—Full grant on wikijs database
arubacloud_blockstoragewikijs-prod-boot20 GB boot disk (Performance)
arubacloud_keypairwikijs-prod-keypairSSH public key
arubacloud_cloudserverwikijs-prod-vmCloudServer VM

Estimated Monthly Cost​

ResourceSpecEst. cost/mo
CloudServer VMCSO2A4 — 2 vCPU / 4 GB~€20
Boot disk20 GB Performance~€3
Elastic IP (VM)—~€3
MySQL DBaaSDBO2A8 · 20 GB~€30
Elastic IP (DBaaS)—~€3
Total~€59/mo

Variables​

Required​

VariableDescription
arubacloud_client_idArubaCloud OAuth2 client ID
arubacloud_client_secretArubaCloud OAuth2 client secret

Optional​

VariableDefaultDescription
ssh_public_keyproject owner keySSH public key content
db_passwordpre-set defaultMySQL password (min 16 chars, no newlines)
app_name"wikijs"Short name used in resource names
environment"prod"Environment label
location"ITBG-Bergamo"ArubaCloud region
zone"ITBG-1"Availability zone
billing_period"Hour""Hour" or "Month"
vm_flavor"CSO2A4"CloudServer flavor
vm_disk_size_gb20Boot disk size in GB
ssh_cidr"0.0.0.0/0"CIDR for SSH access
dbaas_flavor"DBO2A8"Managed MySQL flavor
db_storage_gb20DBaaS initial storage in GB
wikijs_version"2"Wiki.js Docker image tag

Outputs​

OutputDescription
wikijs_urlWiki.js web UI URL
vm_public_ipPublic IP of the VM
ssh_commandSSH command to connect
db_hostDBaaS public IP address

Deployment Instructions​

1. Clone and navigate​

git clone https://github.com/arubacloud/terraform-arubacloud-examples.git
cd terraform-arubacloud-examples/wikijs

2. Configure variables​

cp terraform.tfvars.example terraform.tfvars

3. Deploy​

terraform init
terraform plan
terraform apply

Bootstrap takes approximately 2–3 minutes.

4. Initial setup​

Navigate to http://<vm_public_ip>:3000 and complete the installation wizard to create the admin account and configure the site.


References​