- The easiest way to upload and track your memes.
- Bun
- Remix
- CDN: Cloudflare R2
- UI: Shadcn and Tailwind
- Database: Cloudflare D1
- Authentication: Supabase
- Deployed via Cloudflare Pages
When you run dev locally, it serves the Remix app through wrangler.
# start the remix dev server and wrangler
bun run dev
Open up http://127.0.0.1:8788
Note: You need to add a .dev.vars in the root
SUPABASE_URL=""
SUPABASE_ANON_KEY=""
R2_PUBLIC_URL=""
bun run pages:deploy
D1 is a sqlite DB
bun run create:migration
bun run local:migrate
bun run remote:migrate
R2 uploading does work locally
server.ts
When you use anything besides the default remix server, you need to create this file. In our case it does server magic to change your remix app into a single cloudflare worker.
Your Remix Project will generate a functions/[[path]].js file the first time you run remix dev or remix build. The [[path]] filename indicates that this file will handle requests to all incoming URLs. Refer to Path segments to learn more. Source: Cloudflare Pages Remix Tutorial
bun.lockb
Bun's version of package-lock.json
remix.env.d.ts
Defining both Remix and Cloudflare workers types as global here
wrangler.toml
Cloudflare worker config