Cloud VMU is a self hosted VMU file upload/download PHP web app designed specifically for use by the legacy Sega Dreamcast Web Browser. You can host it locally or on a remote PHP server (like Hostgator). You can also host it locally on a DreamPi and access it via http://vmu.local.
docker-compose up --build
http://localhost
or access the Web App from Dreamcast
http://<Computer-IP>
Make sure DreamPi is powered on and connected to your network. Then, SSH into it:
ssh [email protected]
(Default password: raspberry unless changed)
If that doesn't work, find the IP address of DreamPi (ifconfig on another Pi or check your router) and connect via:
ssh pi@<DreamPi-IP>
Since DreamPi is based on Raspberry Pi OS (Debian-based), install a web server:
sudo nano /etc/apt/sources.list
Replace the existing line with the following:
deb http://legacy.raspbian.org/raspbian stretch main contrib non-free rpi
Then, update your package list and install the required packages:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 php libapache2-mod-php imagemagick php-gd
Once installed, enable and start the web server:
sudo systemctl enable apache2
sudo systemctl start apache2
Now, move the Cloud VMU PHP web app to the right directory:
sudo mkdir -p /var/www/vmu
cd /var/www/vmu
Clone it directly:
git clone https://github.com/robertdalesmith/dreamcast-cloud-vmu.git /var/www/vmu
If your PHP app is on your computer, you can use SCP to copy it over:
scp -r /path/to/your-vmu-app [email protected]:/var/www/vmu
Then, set proper permissions:
sudo chown -R www-data:www-data /var/www/vmu
sudo chmod -R 755 /var/www/vmu
Create a new Apache config file:
sudo nano /etc/apache2/sites-available/vmu.conf
Paste the following:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/vmu
ServerName vmu.local
<Directory /var/www/vmu>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save and exit (CTRL + X
, then Y
, then Enter
).
sudo a2ensite vmu.conf
sudo systemctl restart apache2
DreamPi already uses dnsmasq, so we just need to add a local entry.
sudo nano /etc/dnsmasq.conf
Add this line at the bottom with your DreamPi's actual IP address:
address=/vmu.local/<DreamPi-IP>
sudo systemctl restart dnsmasq
sudo nano /etc/hosts
Add this line to the end of the file:
127.0.0.1 vmu.local
Save and exit (CTRL + X
, then Y
, then Enter
).
Now, boot up your Dreamcast, open the Dreamcast Web Browser, and try to access:
http://vmu.local
You should see the Cloud VMU web app.
or
http://<DreamPi-IP>
If you want to auto update the DreamPi IP in dnsmasq, you can add the following script to rc.local
:
sudo nano /usr/local/bin/update-dnsmasq.sh
Add the following:
#!/bin/bash
# Get the current DreamPi IP
DREAMPi_IP=$(hostname -I | awk '{print $1}')
# Check if the line already exists
if grep -q "address=/vmu.local/" /etc/dnsmasq.conf; then
# Replace the old IP with the new one
sudo sed -i "s|address=/vmu.local/.*|address=/vmu.local/$DREAMPi_IP|" /etc/dnsmasq.conf
else
# If no existing entry, add it
echo "address=/vmu.local/$DREAMPi_IP" | sudo tee -a /etc/dnsmasq.conf
fi
# Restart dnsmasq to apply changes
sudo systemctl restart dnsmasq
sudo nano /etc/rc.local
Add this line to the end of the file right before exit 0
:
/usr/local/bin/update-dnsmasq.sh