Passa al contenuto principale
Versione: 0.5.3

Wiki.js su Aruba Cloud

Distribuisci Wiki.js — una moderna piattaforma wiki open-source con supporto Markdown, ricerca full-text e autenticazione modulare — su Aruba Cloud tramite Terraform e cloud-init. Utilizza MySQL 8.0 gestito come backend database.

Versione provider: arubacloud/arubacloud ~> 1.0 | Terraform: ≥ 1.9


Introduzione​

Wiki.js è un wiki leggero basato su Node.js che gira interamente in Docker. Questo esempio distribuisce:

  • Wiki.js tramite l'immagine Docker ufficiale su una VM CSO2A4
  • MySQL 8.0 gestito (Aruba Cloud DBaaS) per uno storage affidabile
  • Interfaccia web sulla porta 3000
  • Wizard di configurazione al primo accesso per creare l'account amministratore

Panoramica dell'architettura​


Infrastruttura creata​

RisorsaPattern nomeDescrizione
arubacloud_projectwikijs-prodContenitore progetto
arubacloud_vpcwikijs-prod-vpcVirtual Private Cloud
arubacloud_subnetwikijs-prod-subnetSubnet di base
arubacloud_securitygroupwikijs-prod-vm-sgSecurity group VM
arubacloud_securitygroupwikijs-prod-dbaas-sgSecurity group DBaaS
arubacloud_securityrulewikijs-prod-vm-sshIngresso SSH (22)
arubacloud_securityrulewikijs-prod-vm-httpIngresso Wiki.js (3000)
arubacloud_securityrulewikijs-prod-db-mysqlIngresso MySQL (3306, solo IP VM)
arubacloud_elasticipwikijs-prod-vm-eipIP pubblico VM
arubacloud_elasticipwikijs-prod-dbaas-eipIP pubblico DBaaS
arubacloud_dbaaswikijs-prod-dbaasIstanza MySQL 8.0 gestita
arubacloud_databasewikijsSchema database
arubacloud_dbaasuserwikijsUtente database
arubacloud_databasegrant—Grant completo sul database wikijs
arubacloud_blockstoragewikijs-prod-bootDisco di avvio 20 GB (Performance)
arubacloud_keypairwikijs-prod-keypairChiave SSH pubblica
arubacloud_cloudserverwikijs-prod-vmVM CloudServer

Costo mensile stimato​

RisorsaSpecificheCosto stimato/mese
CloudServer VMCSO2A4 — 2 vCPU / 4 GB~€20
Disco di avvio20 GB Performance~€3
Elastic IP (VM)—~€3
MySQL DBaaSDBO2A8 · 20 GB~€30
Elastic IP (DBaaS)—~€3
Totale~€59/mese

Variabili​

Obbligatorie​

VariabileDescrizione
arubacloud_client_idClient ID OAuth2 ArubaCloud
arubacloud_client_secretClient secret OAuth2 ArubaCloud

Opzionali​

VariabileDefaultDescrizione
ssh_public_keychiave del progettoContenuto della chiave SSH pubblica
db_passworddefault preimpostatoPassword MySQL (min 16 caratteri, senza newline)
app_name"wikijs"Nome breve usato nei nomi delle risorse
environment"prod"Etichetta ambiente
location"ITBG-Bergamo"Regione ArubaCloud
zone"ITBG-1"Zona di disponibilità
billing_period"Hour""Hour" o "Month"
vm_flavor"CSO2A4"Flavor CloudServer
vm_disk_size_gb20Dimensione disco di avvio in GB
ssh_cidr"0.0.0.0/0"CIDR per accesso SSH
dbaas_flavor"DBO2A8"Flavor MySQL gestito
db_storage_gb20Storage DBaaS iniziale in GB
wikijs_version"2"Tag immagine Docker Wiki.js

Output​

OutputDescrizione
wikijs_urlURL interfaccia web Wiki.js
vm_public_ipIP pubblico della VM
ssh_commandComando SSH per connettersi
db_hostIndirizzo IP pubblico DBaaS

Istruzioni di distribuzione​

1. Clona e naviga​

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

2. Configura le variabili​

cp terraform.tfvars.example terraform.tfvars

3. Distribuisci​

terraform init
terraform plan
terraform apply

Il bootstrap richiede circa 2–3 minuti.

4. Configurazione iniziale​

Vai su http://<vm_public_ip>:3000 e completa il wizard di installazione per creare l'account amministratore e configurare il sito.


Riferimenti​