Back
Similar todos
Continuing to look into the CORS error I'm getting when my frontend tries to make an API request to my backend; it seems my backend dokku app wasn't deployed for some reason; destroyed my existing go dokku app and recreated it and then struggled with an error for a while before realizing I had the same issue a few days ago and the solution was to run `dokku builder:set backend-app build-dir backend`; now getting an error saying the download for my specified version of Go is "unknown to the buildpack"; after much trial-and-error I realized the problem was that Dokku has a stupid error message that makes it sound like it has already automatically chosen a Go buildpack when in fact it has not. I was additionally getting confused because I was seeing Dokku installing Go and not realizing that was because of my +heroku instruction in my go.mod file rather than Dokku automatically using a Go buildpack. The solution was to specify a Go buildpack for my app with `dokku buildpacks:add <my-app> heroku/go`. Now getting a new error: "Failed to connect to database". Fixed it by switching my code to use the `DATABASE_URL` environment variable that Dokku creates for your code to connect to the db. My `git push dokku main` finally succeeded, but I'm still getting a CORS error. Eventually figured out it was because my Dokku app name was `whatdo-backend` when I had forgotten that that would also be the name of the subdomain, so I had to delete the app and recreate it with the name `api`. I also created a `/ping` health-check URL to help me debug this more quickly. I'm now getting a 521 error, I think maybe because Dokku is running on http and Cloudflare is reaching out via https?
Got my frontend app deployed to Netlify, it was surprisingly easy. Changed my Cloudflare DNS settings for the domain to point to Netlify, and turned off the 'Proxy' setting in Cloudflare. Changed my frontend and backend code to use the new setup of having the api at a different domain instead of at `/api/` at the same domain. Tomorrow I'll need to test that local development is still working properly and then see if I can get it working on Netlify/DigitalOcean.
Ordered a FocusCap visor model b/c people walking by when I'm working in public is the most distracting thing for me right now: focuscap.io/products/focuscap ; bought a $7 baseball cap to use while I wait, I keep it pulled down low over my eyes and it's probably 90% as good. Verified that for local development my Go backend seems to be able to talk to my Vue frontend with the new way of having the API at a different domain instead of at /api/. Added the new env variable that stores the domain of the API to my Netlify setup and tried using the app, and got an "ERR_NAME_NOT_RESOLVED", realized I hadn't set up a Cloudflare A record for the 'api' subdomain to point to my Digital Ocean / Dokku droplet. After ~20 mins that error went away and it switched to a CORS error. Added my domain to my backend code as an allowed origin for CORS purposes.
Finally got the Dokku Ruby on Rails example app working 😭 Apparently I just needed to reboot the droplet? `curl` to my droplet's IP wasn't working, `dokku ports:list ruby-getting-started` didn't show it listening on port 80, `dokku ports:add ruby-getting-started http:80:5000` resulted in an error saying nginx wasn't running. Rebooting seemed to fix it. Next up is trying to deploy my Go backend with Dokku. Destroyed the ruby demo dokku app. Resized my DO droplet to the $6/mo one.
Started learning Dokku / trying to set it up with Digital Ocean. ty @ben ... joined the dokku discord; went through this guide: dokku.com/docs/getting-starte… ; switched my whatdo domain in DigitalOcean to point to the new dokku droplet ; asked for help in the forum to understand what it means for "the web UI [to be] submitted": github.com/dokku/dokku/discus… ; I think it's referring to the DO UI for creating the new droplet ; next step for tomorrow: go through this guide: dokku.com/docs/deployment/app…
Continuing to try to get my dokku API to work, looking into an `ERR_CONNECTION_REFUSED` error. I posted for help on the dokku github: github.com/dokku/dokku/issues… I suspect the issue may be caused by my not having SSL set up but I'm not sure. I can't even find the logs where the refused connection is being logged.
Dokku: Starting going through this guide: dokku.com/docs/deployment/app… Got stuck for ~40mins on `git push dokku main` b/c I hadn't run the `git remote add dokku <url>` command correctly: I had to specify my droplet's IP instead of my domain name (b/c cloudflare blocks port 22), I wasn't supposed to start the URL with ssh://, and I somehow ended up with the wrong IP in the URL at one point.
Self host frontend
- Setup Dokku app with documentation
- Migrate deployment to Dokku app
- Setup CI to automatically deploy on Dokku
- Update DNS
#treasure
Looking into why `git push dokku main` didn't work. After much Googling, it was because my $5/mo 1 GB droplet didn't have enough RAM to build the Ruby on Rails demo app. So my plan is to use the $12/mo droplet to get the demo working and then try to downgrade to the $5/mo droplet when I switch to trying to use Dokku with my Go backend.
promote "Netlify + Dokku vs other deployment options" twitter.com/hugo__df/status/1… #codewithhugo
Finish my initial test of self-hosted PaaS solutions and post about it on X: x.com/ben_makes_stuff/status/…
Next up: moving #unblockdomains to Dokku as a test and blogging about it !private
schedule "deployment options: Netlify + Dokku on DO" #codewithhugo
publish "netlify +dokku vs the rest" #codewithhugo
My next goal is to get postgres working locally instead of sqlite b/c apparently it's easier to use postgres on dokku(?). Installed postgres on my macbook using postgresapp.com, it was so easy 😭 Connected GoLand to a new postgres db for my backend; got my backend code working with the postgres db; committed and pushed my code. Next step is to continue with this guide: shellbear.me/blog/go-dokku-de…
🎉 Got a real app deploying in Dokku with only 1-2 minor hiccups that were easy to solve with great documentation. Way, way better than Kamal and it's not even close, great docs + ChatGPT having already indexed them makes a huge difference. I also love the use of nginx over complicated solutions like Traefik #unblockdomains !private
Fix Dokku deploy #stenograph
migrate jxd.dev to my vntg monorepo - next up write up about my deployment strategy!
Work on deploying docs on same server, with some problems with JS tooling #shipnix