Statamic on Digital Ocean App Platform
September 2, 2020
Digital Ocean released their App Platform the other day. It’s similar to Heroku, which has been around for forever, but I never really got along with how Heroku works and have always really liked Digital Ocean’s guides/documentation/shark loading animations, so thought I’d see what it’s about.
I decided to try this site but as a full-fledged Statamic site, not the statically generated version you’re looking at currently, hosted on Netlify. It was pretty easy, Digital Ocean has a sample repo for Laravel, but if you point it at a Statamic repo in Github you get all of the same settings. After that it was just adding some environmental variables, and letting it deploy.
Am I going to use it? Probably not. It was a neat test case, but the leap from this to what Netlify provides, where all of the content for the site is cached neatly on CDNs somewhere, is more than I feel like figuring out right now. A more likely step would be to deploy just the control panel to a Digital Ocean box, then let Statamic’s Git integration kick off a Netlify build and deploy.
Here’s the important parts of the App Spec file I ended up with, if anyone else ended up here trying to figure out how to get this working, with secrets obviously obscured:
name: bwc-statamic region: nyc services: - build_command: “php please stache:clear \nphp please static:clear” environment_slug: php envs: - key: STATAMIC_LICENSE_KEY scope: RUN_AND_BUILD_TIME value: 1234 - key: APP_URL scope: RUN_AND_BUILD_TIME value: your-app-address-here - key: APP_KEY scope: RUN_AND_BUILD_TIME value: 1234 http_port: 8080 routes: - path: / run_command: heroku-php-apache2 public/