Marketplace
Deploy this app

Blogs and Forums
Ghost
Modern publishing platform on Node.js and MySQL.
About
Installs Node.js, MySQL and Ghost via the official Ghost-CLI, running Ghost locally on port 2368 behind Nginx.
Once you point a domain at this instance's floating IP, SSH in, cd /var/www/ghost and run: ghost setup ssl. Admin account is created from the setup wizard at first visit.
Ports opened by the installer
80/tcp · HTTP
Install script (runs as cloud-init user-data on first boot)
#!/bin/bash set -e export DEBIAN_FRONTEND=noninteractive apt-get update -y curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - apt-get install -y nodejs mysql-server nginx npm install -g ghost-cli@latest DB_PASS=$(openssl rand -base64 18 | tr -dc 'A-Za-z0-9') mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$DB_PASS'; FLUSH PRIVILEGES;" mkdir -p /var/www/ghost chown ubuntu:ubuntu /var/www/ghost 2>/dev/null || true chmod 775 /var/www/ghost cd /var/www/ghost su - ubuntu -c "cd /var/www/ghost && ghost install local --db mysql --dbhost localhost --dbuser root --dbpass '$DB_PASS' --no-prompt" 2>/dev/null || \ ghost install --db mysql --dbhost localhost --dbuser root --dbpass "$DB_PASS" --url http://localhost --process systemd --no-prompt --no-stack echo "MySQL root password: $DB_PASS" > /root/ghost-credentials.txt
Minimum requirements
- vCPU
- 1
- Memory
- 2 GB
- Disk
- 20 GB
- Base image
- ubuntu
