I configured a TiddlyWiki server on Oracle Cloud today. Here is a summary of my steps.
- Follow this tutorial to create an
Ubuntu
instance on Oracle Cloud with Always Free Tier. The new VM should be connected through SSH. Add this command inStep 8
ofSection 4 Set up Apache and PHP
to enable external access of SSL
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
- If applicable, create a custom domain with
A
record to IP address of new VM. - Follow this link to enable SSL for apache server on new VM using Let’s Encrypt
- Test new apache server is working through
https://<custom-domain>
- Configure
reverse proxy
on apache2 server
Enable modules
sudo a2enmod proxy proxy_http
Edit configure file in SSL VirtualHost (e.g. sudo vim /etc/apache2/sites-enabled/000-default-le-ssl.conf
)
<VirtualHost *:443>
# important
AllowEncodedSlashes on
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://0.0.0.0:8080/
</VirtualHost>
-
Follow this link to install nodejs and TiddlyWiki
-
Follow this link to install
pm2
to automatically restart the wiki. I used thistiddlywiki wiki --listen credentials=users.csv "readers=(authenticated)" "writers=(authenticated)"
to create a private tiddlywiki site. -
Configure to store external binary files on node.js
- Create a
files
folder under root folder of new tiddlywiki - Install file uploader plugins from CPL (
$:/plugins/sq/node-files-PUT-support
,$:/plugins/sq/file-uploads-PUT
, and$:/plugins/commons/file-uploads
) - Configure
$:/config/fileUploader
asPUT
in$:/plugins/commons/file-uploads
- Restart pm2 to apply new changes (
pm2 stop tiddlywiki
andpm2 start tiddlywiki
) (It is important to restart pm2 for any changes in the file system. I spend hours to fix an error of missingfiles
folder) - Drag and Drop a new image into new tiddlywiki. It should be uploaded into
files
folder
- Create a
Now the private TiddlyWiki should be available on Oracle Cloud. Hope it is useful for others.
Here I add a new section about how to Backup to Google Drive.
- Install gdrive to VM
- Create credentials from Google API
- Create a bash script
tw-backup
as a cran job to for daily backup
#!/bin/bash
name=tiddlywiki-$(date '+%Y-%m-%d-%H-%M-%S').tar.gz
echo $name
tar -zcvf "$name" tiddlywiki
./gdrive files upload --parent <key-for-parent-folder> $name
rm $name
Update cran job
0 0 * * * /home/ubuntu/tw-backup