I have been working on an app to help manage and deploy Xojo Web apps to Digital Ocean droplets. I made it to make my life easier, but I’m sure there are others who might find it useful.
Here is a quick demo of what’s done so far:
I’m looking for feedback and testers. At this stage it really shouldn’t be used for production environments. It’s a little error prone as I work out issues with libssh2 right now. I’d like to get feedback early in case some good requests cause a massive restructuring.
If this app seems interesting to you or could prove useful on your toolchain I would love to hear from you.
Is this for web, web 2.0 or both?
Also I would be able to test with Digital Ocean. Does it work for them as well? The video only shows Amazon i see.
Looks pretty slick Tim, nice work.
I noticed the same thing Dirk…
Tim: the video doesn’t seem to be showing Digital Ocean deployment.
Based on the video’s title (“Deploy Xojo Web to AWS Lightsail using Lifeboat”) I’m guessing you might have linked to the wrong video?
It works with standalone builds for Web 1.0 and Web 2.0!
Yes! It’s much the same process. I should make a video for both before it launches
It’s been tested with both providers. A lot of folks around the forum like Lightsail so I thought I’d demo with aws. It’s much the same process, but I’m thinking I’ll make another video too.
I’ve received a lot of interest and will be getting back to everyone in the upcoming days!
This is great work! I’m fed up with Serverwarp’s non-existent customer support, and am looking to migrate my Xojo web apps to a new server. AWS looks like a competitive solution.
1 Question (I have always used cgi apps previously) - How would I start up / or kill a running standalone app?
With Lifeboat, it’s as simple as the Start and Stop buttons. This will start and enable a service so that if the server reboots so does the app. Stopping the app does the reverse.
Without Lifeboat, there are a few options. Assuming you understand how to upload your app and set it executable, you can start the app like this:
This command leaves the process attached so if you cmd-c you’ll actually end the app. You can send it off on it’s own by putting an & at the end of the command, but you’ll have to retrieve the process ID to end it.
/path/to/my/app --port=80 &
sudo lsof -i :80
sudo kill %process_id%
Another method (my preferred method) and what Lifeboat does, is set up a systemd service. This makes it so the app is watched over and if it crashes or the server restarts, systemd will restart the app. This makes starting and stopping an app look like this:
systemctl start MyGreatApp
systemctl stop MyGreatApp
This method requires setting up some configuration files.
That all sounds quite useful - I will try a few experiments. I am not at all familiar with Linux or Apache - but maybe it’s time I learnt it !
and many thanks for posting your How To video - that’s extremely helpful.