Installing Owncast on Reclaim Cloud

I am starting to turn my streaming, recording setup to good use, like demonstrating how to get the open source, self-hosted Owncast up and running in Reclaim Cloud. Below is the text guide to accompany the video.

Once you login to Reclaim Cloud you will need to create a New Environment:

Image of Reclaim Cloud Dashboard

Reclaim Cloud Dashboard

Once you click Add New Environment, you will select the Docker tab, rename the environment to something more friendly, and then select the Docker image. You can also choose the data center region from this screen:

Image of Docker tab with various elements for building your owncast Docker image

Docker tab with various elements for building your Owncast Docker image

When you click on Select Image you will be brought to the following screen, and you should search owncast and select the official image which is gabekangas/owncast:

Image of screen where you would select the gabekangas/owncast Docker image

Select the gabekangas/owncast Docker image

Once you have selected the image you should see a blue check mark and can then click next.

Image of selecting the 1.18.0 version of the Nginx load balancer

Create Nginx load balancer

The next step is creating a Nginx load balancer for this environment. This will enable you to issue an SSL certificate for Owncast. Use the latest version of Nginx and be sure to turn on the Public IP option:

Image reminding folks to turn on the public IP option for the Nginx load balancer

Turn on the public IP option for the Nginx load balancer

At this point you can click the Create button and the environment will start spinning up:

Image of Owncast environment spinning up in Reclaim Cloud

Create your environment

Once the environment is created you can see the two containers you have within it. The Nginx Load Balancer, that has the environment’s public IP address, and the Owncast container:

Image of the two containers within the owncast environment

The two containers within the Owncast environment

Notice the public IP address, you will be needing to copy this in order to map a domain to the Load Balancer. I mapped demo.bava.tv to this IP address using an A record:

Image of Mapping a domain to the Load Balancer public IP

Mapping a domain to the Load Balancer public IP

After that we want to issue a let’s Encrypt certificate for that domain. You can do this by click on the Addons button next to the Nginx Load Balancer container:

Image of Add-ons button in Nginx container

Add-ons button in Nginx container

After that you will see several Add-ons for the Load Balancer, you want the Let’s Encrypt option:

Several addons for container

Now you can Install Let’s Encrypt specifying the domain you want to map on the container, for my example demo.bava.tv:

Image of Let's Encrypt screen

Install Let’s Encrypt certificate using the addon domain you creating

After that, the SSL certificate should install. The final step in Reclaim Cloud is going to the Settings area of the environment and adding an Endpoint so that the Load Balancer can can communicate with with the RTMP port 1935 in the Owncast container which is where the livestream is served:

Once you are in settings choose Endpoints and Add a new Endpoint for the Owncast container, in this instance Node ID: 8347 (every container in Reclaim Cloud has a Node ID):

Then specify the name (RTMP_, the port (1935), and the Protocol (TCP) and click Add:

After that Reclaim Cloud will create the public port and URL for you to use for your streaming URL:

The public URL will look something like the following

node8347-owncast.ca.reclaim.cloud:11015

And for that to work in Owncast it will need to add the https:// at the beginning and /live/ to the end, which will give you this:

https://node8347-owncast.ca.reclaim.cloud:11015/live/

Rather than the default Stream URL Owncast gives you, this will be the URL you add to applications like OBS, Streamyard, etc.

Image of Owncast up and running

A secure Owncast Installation is the endgame!

Finally, we should now be up and running with Owncast at https://demo.bava.tv, and the login for Owncast will be your domain /admin. For my example, demo.bava.tv/admin should be the login and the default password for Owncast is always abc123. The password is also the stream key, so be sure to change that immediately. Finally, the default Stream URL will show up as https://demo.bava.tv:1935/live/ but on Reclaim Cloud you will be using the Endpoint you created, which for my example is https://node8347-owncast.ca.reclaim.cloud:11015/live/

Happy streaming!

Posted in Reclaim Cloud | Tagged , , | Leave a comment

Some Welcome Love for the LAMP Stack

I really enjoyed Ernie Smith’s article “I Love Lamp” over on his Tedium.co blog, big thanks to David LaCroix for the link. He provides a succinct and fascinating history into the rise of the killer stack that has reigned for over 20 years. There has been a lot of talk about the New Hack Stack, and I’ve been fascinated with those developments for the last decade and what they could mean for Reclaim Hosting. But at the end of the day, LAMP is still very much the workhorse behind the modern web. And if you’re like WTF is LAMP, it’s the suite of open source technologies Linux, Apache, MySQL, and PHP that were combined to build the web servers that still power much of the web.

The article helped fill in a few gaps of my understanding of the rise of this stack, in particular the fact that the creators of MySQL went to O’Reilly in order to popularize the idea that LAMP was actually a thing.

The terminology dates to around 2000 or 2001, with David Axmark and Monty Widenius, two of the cofounders of the relational database MySQL, credited for making the initial connection between the various parts into a combined service that could be sold to developers as an open-source framework. After the developers met with staffers at the publishing firm O’Reilly Media, the firm—which specializes in technical learning manuals that target programmers and IT departments—had embraced the term, evangelizing what it meant to the broader digital community.

It’s interesting to me how the rise of a technology is accompanied by a linguistic sense making through a term or acronym that stands in for a more complex idea—think MOOC or Docker more recently. The power of naming and metaphor plays an often under appreciated role in the adoption of technologies, and just a few years after popularizing LAMP O’Reilly would bring us Web 2.0 (much of which was built on the LAMP stack).  And say what you will about the term Web 2.0, it was a key term in many of us grok the cultural moment of the web during the mid 2000s. In fact, the following quote from the “I Love LAMP” article really hits home for 2004/2005 me:

For years, LAMP stacks had natural advantages for end users, as their ubiquity allowed for the rise of web hosts that could offer cheap processing and storage for PHP-based services, meaning you could have a working interactive website for maybe $5 a month or less, depending on the size of the app and its use case.

That was democratizing—and allowed bedroom experimenters and large corporations alike to try new things online, outside of a walled garden. For the average consumer, the types of tools that won out allowed them to create polished presences for their businesses or creative work with a relatively limited amount of fuss.

This emerging reality in the early 2000s was something Zach Davis at CUNY was tuned into and he got me started down the path of cPanel LAMP hosting in 2003 or 2004. A pastime that soon became a career opportunity when I saw the work UMW was doing under Gardner Campbell in 2005. It was remarkable! This was a university ed tech shop willing to venture outside the controlled spaces of the learning management system to allow “bedroom experimenters” like myself and the rest of the DTLT team to play. What’s more, it was eminently affordable; I think my first Bluehost account at UMW was something like $100 per year with a free domain. This was not a big investment in the technology per se, but rather a realigning of the value of people in communicating the cultural shift that was happening on the web at that moment. Faith in a seed, and a Reverend will bloom. Looking back, I think it was definitely a time and a place thing: being an educational technologist focusing on the power of an open source driven web in higher ed was simply the best job one could have in 2005. And UMW was ground zero for awesome in that regard.

But I digress, another thing that resonates in this article is the the longevity of this technology stack. I have been writing about a post-LAMP environment for Reclaim Hosting for at least 7 years,  and while the next-generation of applications are here, getting them up and running easily and affordably is another thing. Just recently I have been playing with Owncast, an open source streaming software, and I could spin it up in 3 seconds using a Docker container on Reclaim Cloud, but getting a reverse proxy for the SSL certificate led me down a rabbit hole. But in cPanel DNS, SSL, and one-click installers are integrated in such a way that the LAMP environment is seamless. Hosting companies like Digital Ocean are closer than anyone at providing a similar experience for the new generation of applications written in Ruby, Node,ja, Go, Java, etc., but the same level of ease and fluidity you find in a LAMP environment that keeps most folks out of the command line is not there yet.

This article was really encouraging to me because when you help someone get up and running with a LAMP environment you are really giving them access to many of the tools that not only shaped but still drive the modern web we inhabit. This was a welcome reminder that faith in a seed approach to the educational web is still as valuable as it was 16 years ago.

Posted in experimenting, Instructional Technology | Tagged , , , | 2 Comments

Robot Tour of Reclaim Arcade

This morning I streamed and recorded a tour of Reclaim Arcade via the robot. It’s always fun to do this kind of thing, and hopefully this video gives you some sense of the space.

Posted in Reclaim Arcade | Tagged , | Leave a comment

A Quick Tour of Owncast

I spent some of yesterday and this morning playing with an open source streaming software called Owncast. Mo Pezel told me about it last month, and when I saw Digital Ocean had a marketplace app I decided to try and run it on Reclaim Cloud. I installed the official Docker release of the Software and it worked brilliantly. it took all of 3 seconds, and the above video gives you a quick tour of the software, which is quite focused and elegant (the software, not the tour).

The issue I’m still working through is how to get the stream to load over https via reverse proxy given I cannot embed it in another page without that functionality. Turns out that is not proving easy. I documented my woes on the Reclaim Hosting community forums, and hopefully I get some help given I am already sold on this software.

A few highlights of Owncast:

  • You can integrate with external storage like S3, Spaces, or Minio
  • It’s self-hosted and you can hopefully control latency issues with resources
  • It works cleanly with OBS
  • It has built-in chat functionality*
  • It was easy to install on Reclaim Cloud, and if and when we can figure out the SSL issue, a one-click install may be possible
  • It could be an excellent candidate for cheap, pay as you use Reclaim Cloud hosting

A stream of one’s own!

__________________________________

*I had it turned off in the video without knowing as much, but that is a nice feature, even if you opt for Discord or something else.

Posted in Reclaim Cloud, Streaming | Tagged , | Leave a comment

A New Era for Reclaim Hosting

Maybe the post title seems dramatic, but the last month has seen a pretty major shift at Reclaim Hosting. It’s funny, because in terms of evolution I think Stanley Kubrick’s 2001: A Space Odyssey seems fairly accurate in this instance, one day you are jumping around picking the fleas out of each others’ fur, and the next day you are cracking skulls with discarded animal bones! Well … maybe that’s not the point. What I’m trying to say is that change can happen quite fast and seemingly out of nowhere in the shape of a tall, black monolith that gives you new super powers to blog more because your aren’t knee-deep in the day-to-day.*

Just a few months ago Tim was running Infrastructure and managing Support and I was working Sales and various outreach programs like the beautiful OERxDomains21 conference and our Virtual Roadshow workshop alongside Lauren. Things were quite busy, add to that Reclaim Arcade opening and it was getting unmanageable.

In fact, early this Summer I took over support to give Tim some headspace, and it felt a bit like we were losing ground in terms of being able to think beyond the immediate issues of running Reclaim. After 8 years of doing a little bit of everything—Sales, Support, and Infrastructure (while also being the owner)—you start thinking you might never get off the hamster wheel of work. So in late June, early July we committed to hiring more folks to free up some time and energy for Tim and I, which would allow us to finally realize a long-time goal of putting Lauren Hanks in charge of operations. The trick was making sure she has the staff needed to succeed. We re-doubled hiring efforts in Sales and Infrastructure and by late August had commitments from two awesome folks who actually come from Domains programs at two of the schools we work with. [That is both wild and awesome at once.] Goutam Vijay Narang has already started in the role of Junior Web Developer and later this month Pilot Irwin will be joining us as account manager in Sales. Once the dust settles a bit, we will be hiring a part-time Support agent, and with that our company will be 10 strong and Lauren will have a running start in her new role as Director of Operations, which she will undoubtedly thrive at.

Lauren has been at Reclaim Hosting for over 6 years now, and she is nothing short of amazing. Running the daily operations of Reclaim Hosting was just a matter of time, she has proven her awesome over and over again, and I really can’t say enough about how valuable she has been to the very core of Reclaim’s culture, balancing intense work with a ton of good will and fun, fun, fun in equal portions. With Lauren taking on the role of Director of Operations the various groups will each have leads. Chris Blankenship will be leading infrastructure, taking over the day-to-day from Tim who has been overseeing since the beginning. Meredith will continue in her role as Support lead with a more public role of interfacing with our Domains and managed hosting clients as we try and further tighten the way in which Sales, Support, and Infrastructure communicate and integrate. It’s pretty exciting for Tim and I not only because we will have some headspace to think more broadly about Reclaim, but also because we have a whole new group running the show. They bring new ideas, new energy, and an unbelievable amount of talent to Reclaim and it is time they had space and independence to fully realize all that and more.

On a deeply personal level it really does feel like the beginning of a new era at Reclaim Hosting, and I am happy to say I am still a part of it. It’s apparent we are stable enough to stick around for a while, and making sure the great people you work with feel they can grow into their roles and have a larger say in where they work and how it functions is crucial to the overall health of Reclaim. That is one of the things that is harder and harder to manage in large organizations, and being able to see this shift at Reclaim and watch those who helped build it from the ground up decide where it goes is crucial to our future success, and for that this is the most important evolution in our short history yet.

The things I want to focus on now that I will have some new found headspace is blogging more and experimenting in Reclaim Cloud (which means some homework around containers and Docker). I also enjoy the outreach and “marketing” part of Reclaim, so I will be at the workshops and conferences, maybe running a karaoke session or two? I also like having a hand in imagining the Reclaim aesthetic, which is really just talking to Bryan Mathers about what we should do next—so maybe they’ll let me stick around for some of that 🙂

But more than anything I have the urge to teach again, which is a welcome surprise. After imagining a syllabus for a Digital Studies course on the fly that never materialized, and working with Paul Bond producing the Joy of ds106, I can officially say I am ready to get back in the classroom in some form or fashion. So if you know anyone interested in a visiting virtual professor who would treat the course as a digital production studio let me know because I want back in that game!

________________________________________

*Now here is where someone is going to explain to me why this is a bad analogy because I am misreading the film, but to that I must simply say get your own blog and tell it to the wind, dammit!

Posted in reclaim | Tagged , | 1 Comment

Blog Islands in the Stream

I’m not gonna lie, I have been spending the greater part of the last few days honing my karaoke game. Turns out I can spend endless hours on the web broadcasting to a radio/tv empire with no listeners or viewers and feel pretty damn good about myself all the while. Who knew?

But all for God and ds106!  -or is that the other way around? Regardless, this was not entirely me screaming into the void, there was a reason. Chahira and I got back in the Karaoke groove to put on a little event for the Summer Campus group she was helping to run at the University of Göttingen, and it was really a blast.

And it got me thinking we joke a lot about nobody listening on ds106radio, nobody watching on the TV, nobody reading the blogs, etc. But there is a subtle power in that idea, it removes some of the obstacles of entry, it ensures the community is fairly personable, and it keeps the relationships at a human scale. I think a lot of folks that play around with the radio are there because it is about the relationships you build as a result of sharing your story and all the music, images, comedy, sadness, and joy that comes with it. In fact, these karaoke sessions are a particular expression of that personal experience, and while I joke that I have done no work but practice for karaoke, understood another way the karaoke is the work. Sharing around these songs and the experience of opening up, as Rajiv Jhangiani said at OERxDomains21 in his utterly brilliant keynote, is crucial to creating a shared experience that forges a sense of connection.

I am always prepared for there to be just a few people at any event I’m part of, and in that regard I have come to refuse the idea that somehow less is a failure. Scale is the white whale we all seem to be chasing when it comes to online interaction, some abstract valuation (like capital) of followers and friends as a sign of worth that reproduces all the worst elements of the systems many of us thought we were trying to escape with this new media. I find it fitting that 10 people read this blog, and about right that 5 people might want to Karaoke on a Wednesday night. And these five people just happened to span the globe from Germany to Columbia to England to Canada, and maybe beyond even that. And if 3 people on any random Thursday morning happen to listen to me on the radio I consider myself rich as kings.

The chasing of influencer status within a network may be the death knell of generative relationships that provide a sense of meaning and purpose to our short and fragile existence. I don’t think the web is anathema to that reality, but I do think the sense that scale is the measure of success does. I’m not overstating things when I say ds106radio (and increasingly the TV) are proof that the web does not need to always scale to be valuable: seems we have forgotten the power of small spaces to commune and create a sense of purpose outside the maddening rush towards networked thought leader status.

I kind of like the idea of the web returning to islands in the stream apart from our corporate overlords that everywhere dictate how we interact with the culture they keep re-selling us. I want a space within the web but outside the virtual malls the social media landscape has become. I keep returning to the idea of more green spaces on the web and, at least for me, ds106 fits that bill quite nicely. No one really polices that space*, and that is why I love it. What’s more, getting back into the flow of student work from Paul Bond’s Joy of ds106 has reminded me of the deep creative impulse that working within a small, focused community makes possible—and the fact that comes in the form of blog posts in a feed reminds me that there were other streams, blog islands in the stream, that offered an alternative to the data meat market that is social media, and all the irreparable harm it causes us to dream at the scale of the corporation selling us our lunch.

_______________________________________________

*Although there is a #protocol

Posted in blogging, digital storytelling | Tagged , , , , | 2 Comments

The Joy of ds106: Week 3

Paul and I continue to churn out the cheesy Joy of ds106 weekly videos, and I have to say they’re a blast. No only do they take very little time and exude an air of sub-par quality, but they’re also fun as hell to record. Today was the first time we did a second take because I botched the first one so bad, and I think the whole process takes 7-8 minutes with zero editing. Once we’re done I upload it to bava.tv for Paul to download and do what it is he does.

We are starting to include more media and I still have to figure out a fun intro that is almost like a 1970s/1980s sitcom opening, think Three’s Company:

Anyway, my avocation as an ornery TV producer is becoming a reality! Who knows, I may even be the over worked manager of a public access, web-based TV station one of these days, a bava can dream!

Posted in digital storytelling | Tagged , | Leave a comment

Playing with Community Edition of Ant Media Server

This morning I played with the Community Edition of the Ant Media using Digital Ocean’s Marketplace image for this media streaming software.

Digital Ocean’s success emails provide guide and advice to get folks up and running with their app of choice.

I ran it on an AMD 8 GB droplet with 250 GB block storage, but after some testing the stream was fairly latent. Not sure if this is because it’s a free version of the software or if I need a CPU-intensive Droplet, but going to move it to Reclaim Cloud shortly to see if I can increase resources to deal with latency issues.

One of the key things learned while playing around today was that I needed to setup SSL on the Ant Media server in order to get the iframe for the stream to work. I realized this as a result of the stream returning an invalid response from the iframe.

Enable SSL with Just 1 Command – Easy and Fast

Luckily, this Stackoverflow thread led me to the solution and after following the steps in this useful guide I was able to embed the iframe Ant Media without issue within a simple html page at stream.bava.tv.

I’ll be continuing to play with Ant Media, and create a proper guide for installing on Reclaim Cloud, as well as figure out a one-click installer. A Stream of Your Own is just a click away 🙂

Posted in bava.tv | Tagged , , , | 2 Comments

Some Notes on Migrations

This post will be as much about thinking through account migrations for Reclaim Hosting, as trying to capture some of the technical aspects of moving sites to Reclaim Cloud. In fact, it promises to be all over the place, but that is the prerogative of this blog and that’s why I love it so.

Migrations: the act of moving people’s shit from one server to another.

The vernacular for what I am talking about here when saying migrations, not pretty but true.

Domains migrations: This can be a very straightforward process, for example when we have someone on one of our school cPanel accounts that wants to move to our shared hosting. CPanel has a transfer tool baked in and we can move accounts between servers within seconds (assuming they are under 10 GBs or so), and after that just make sure all the details in our client management software WHMCS are aligned and we are good to go. What’s more, migrations like this are easy enough that there is no charge for anyone migrating from a Domain of One’s Own school to our shared hosting.

Third-party free site migrations: There are too many of these to list, but a few popular ones are WordPress.com, Wix, Weebly, and Squarespace. Interestingly enough the only one of these listed with anything resembling a migration option is WordPress.com. You can export and import the posts, pages, media, and author data, but you have to re-build the site design with appropriate themes and plugins. All the other services would be a straight-up copy and paste of page content which should tell you everything you need to know. No HTML files to download, no easily accessible media, no database … nothing. Say what you will about WordPress, but at least it’s an ethos.  WordPress.com migrations are fairly straightforward, you just need to prepare folks that some plugins and themes on wordpress.com may not be readily available for free outside that space (I still hate the plugin and theme marketplace and always will). These migrations usually cost $25.

Everything else: Pretty much everything after those two categories is a crap shoot. We have done a fair amount of migrations from just about every host imaginable: Bluehost, Host Gator, Godaddy, Dreamhost, Webfaction, 1and1, etc. And while a few of these use cPanel (Bluehost, Host Gator and sometimes Godaddy) they’re by no means similar. It’s next to impossible to get a full backup from Bluehost without an upsell, Godaddy’s interface is as confusing as they come, and good luck making it through the advertisements in Host Gator. What’s more, if you live and die by the command line (which I don’t but should) getting SSH access is often another level of hell. Services like Webfaction (soon to be gone) and Dreamhost are better in that regard, but given they run their own hosting software there is no straightforward migration path, so the migrations are often manual, and if you have an account with 5-10 sites, that is 5-10x the work as one cPanel migration, which wraps everything up into one neat package.

So, long story short, these migrations are by definition more time intensive and as a result expensive. As a rule of thumb we charge $25 per site migrated in these cases, but as we have learned some of these services allow folks to run beefy sites on their shared hosting services, which is not something we can afford to do. For example, we limit our accounts to no more than 100GB of storage for a shared hosting account, and no more than 1 GB or total server resources. For some sites that want to come over to our shared hosting these limitations will be a hard stop given the amount of storage and CPU resources needed, so that raises two crucial questions before a migration like these even starts: 1) how much data?, 2) how many resources? A few others is what PHP versions they are running and whether or not they are running the latest version of the application (issues with folks needing to run older apps on older versions of PHP is always a red flag).

I’m sure there are other variations, but for sake of memory and dragging this post out I’ll leave it to these three categories, and taking the last as an example of how a site previously run on webfaction‘s shared hosting needing to be migrated to Reclaim Cloud. The site in question had 170 GB of data, a 2 GB database, and was running Drupal 7 on PHP 5.6. The storage was an immediate flag for our shared hosting, and while previously we would point folks to managed hosting (which can run as much as $400 per month), Reclaim Cloud offers a much more affordable, albeit unmanaged, option. Storage is quite cheap at .08¢ per GB per month, or less than $1 per 10GB per month. Also, for large sites with regular traffic and a long history Reclaim Cloud provides dedicated resources wherein you can reserve up to 2 GB of CPU but allow your instance to expand to 4 GB or more if need be, while only paying for those resources if and when needed.

On the Cloud we are able to install a container-based full-stack LiteSpeed server, also known as LLSMP, that is optimized for a PHP app running LiteSpeed (a drop-in replacement for Apache) that also gives the user root access to only that container. So, the client gets more storage, more resources, root access, and an overall more secure experience for roughly $50 per month (this is based on using 10 cloudlets, 150GB of storage, a dedicated IP address, and the LiteSpeed license). What’s more, you have the option to scale instantly should that be of concern.*

So that’s the argument for the Cloud in this case, and it really is a good solution when it comes to speed and experience, and the reason I even took on this migration was it would force me to get more familiar with Reclaim Cloud, in particular creating a LLSMP environment and importing a large Drupal instance. As I predicted, these migrations are never simple, and one of the trickiest pieces beyond understanding what environment you are coming from and where it is going to, is making sure the DNS points from one server to the other cleanly, more tears have been shed over DNS in the previous 8 years than I care to acknowledge in this post.

That said, here comes the notes part of this post because I’ve learned a few things here that I will be referencing in the future, cue blog as outboard brain.

LLSMP was dead simple to setup on Reclaim Cloud, I installed 6.0.2 and ran PHP 7.3.27 and once that was done I was able to login via the web-based SSH and start migrating the files to /var/www/webroot/ROOT

I ultimately had to enable root access on the container and thankfully Webfaction provides SSH access to their server, so most of this migration was done using command thanks to the rsync command, which is amazing. Logged into the Reclaim Cloud I ran the following command to sync files from webfaction:

rsync  -avzh user@user.webfactional.com:/home/user/webapps/app /var/www/webroot/ROOT

Thanks worked cleanly, then I needed to grab a dump of the database on Webfaction, which this worked for:

mysqldump -u db_username -p db_name > database.sql

After that I rsynced it to the Reclaim Cloud instance

rsync  -avzh user@user.webfactional.com:/home/user/database.sql /var/www/webroot/

After that I had to create the database user, datamase, and create privileges via command line, cause I am kind of a big deal. Well, I thought I was until I hit my first snag:

ERROR 1045 (28000): Access denied for user 'user_db'@'127.0.0.1' (using password: YES)

This is where I reached out to help from my Reclaim Hosting colleagues, and the always awesome Chris Blankenship bailed me out with some detailed instructions on how to fix this in Reclaim Cloud:

MySQL actually sees db_user@localhost and db_user@127.0.0.1 as two separate accounts, which can cause problems. cPanel handles this automatically by creating both for all db users, but you’ll have to manually create both in Jelastic containers; so like this:

CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'securepassword';
GRANT ALL PRIVILEGES ON db_name .* TO 'db_user'@'localhost';
CREATE USER 'db_user'@'127.0.0.1' IDENTIFIED BY 'securepassword';
GRANT ALL PRIVILEGES ON db_name .* TO 'db_user'@'127.0.0.1';

To make it simple usually add skip-grant-tables under the mysqld section of /etc/my.cnf, restart mysql (systemctl restart mysql), log in as root without the password. From there I run this:
FLUSH PRIVILEGES;

Followed by those commands above. Then I comment out, skip-grant-tables under  the mysqld section of /etc/my.cnf, restart mysql (systemctl restart mysql) again.

Once I figured out the permissions i was able to import the database.sql file using the following command from the /var/www/webroot/ directory:

mysql -u db_user -p db_name < database.sql

Once that imported I did a final rsync of files using the following command, with the -u flag to skip files that are newer on the destination.

rsync -avzhu user@user.webfactional.com:/home/user/webapps/app /var/www/webroot/ROOT

There was also the bit where Chris updated ‘localhost’ to ‘127.0.0.1’ in the settings.php file for the Drupal instance given Reclaim Cloud is particular.

So those are very specific notes for this migration of a larger PHP application to a Reclaim Cloud instance, what’s more I had to do it again a week later given this was just to test the instance before moving the production site (this is where rsync is very useful, although the SQL dump had to be re-done though). As you can tell by now, this is not a $25 migration, this requires spinning up a server, syncing files between servers, and providing a testing environment. Luckily Reclaim Cloud environments automatically have a test unique URL that the mapped domain overwrites (namely something like site.uk.reclaim.cloud as opposed to site.com) that makes testing the environment easy before pointing DNS, which was quite convenient—even better than pointing localhost files.

Anyway, this is a long post about migrations and Reclaim Cloud, as much a series of notes as a way of narrating what I hope will be a deeper dive into the possibilities of Reclaim Cloud over the next 12 months or so given i have been freed up from other responsibilities, but more on that in my next post.
__________________________________________

*The hard part of the Cloud to wrap your head around is the variable pricing, I know it does remain fairly consistent from personal experience, but need for predictability is what Digital Ocean understood and has seemed to figure out, which I admire.

Posted in reclaim, Reclaim Cloud | Tagged , , | Leave a comment

ds106: The Waves of Creativity

I’m starting to feel the ds106 creativity rise and hopefully crest here soon, and it feels good. Getting back into the groove is everything, and I figured it was time for a long overdue Daily Create to prime the pump. Today’s TDC features a wild project called Mystic Symbolic Art wherein you use the site to create a design by controlling various elements such as color palette, design complexity, gradient, etc. I got to exploring and found the Waves creator, and that was brilliant because it was as much math and physics as it was design fun. I played with velocity, axes, and cycles for a bit, and after doing so decided to screencast my playing around and setting it to the music of waves thanks to this YouTube videos featuring 8 hours of wave music to put you to sleep. I still love the internet 🙂

Update: On a lark I grabbed 12 seconds of video of my final product and used the IMGUR Video to GIF tool to create what might be one of my most perfect GIFs yet!

View post on imgur.com

Posted in digital storytelling | Tagged , , | Leave a comment