| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The official website for All Things Linux (allthingslinux.org).
# Clone & setup
git clone https://github.com/allthingslinux/allthingslinux.git
cd allthingslinux
pnpm install
# Setup Cloudflare bindings (R2, KV) - IMPORTANT: Update wrangler.jsonc with KV ID from output
pnpm run setup:bindings
# Start development
pnpm run dev:all# Development with all services
pnpm run dev:all # Next.js + Wrangler + Trigger.dev# Development with all services
pnpm run dev:all # Next.js + Wrangler + Trigger.devOpen http://localhost:3000 for Next.js dev, or http://localhost:8788 for Cloudflare Workers simulation.
git clone https://github.com/allthingslinux/allthingslinux.git
```bash
cd allthingslinux
pnpm install# Create R2 buckets and KV namespaces
pnpm run setup:bindings
# IMPORTANT: Update wrangler.jsonc with the KV namespace ID shown in the script outputFor local development, create .env.secrets.dev and .env.secrets.prod files (these are gitignored):
# Create .env.secrets.dev for local development (sandbox credentials)
# Create .env.secrets.prod for production credentials
# Add your secrets following the format: KEY=value (one per line)For CI/CD, secrets are managed via GitHub Environments (see Deployment section below).
Upload secrets to Cloudflare manually (when needed):
```bash
pnpm run secrets:dev # Upload dev/sandbox secrets to dev worker
pnpm run secrets:prod # Upload production secrets to prod workerpnpm run dev:all # Next.js + Wrangler + Trigger.devURLs:
GitHub Actions with GitHub Environments - Automatic deployments on push/PR:
| Branch | Environment | URL |
|---|---|---|
| main | Production | allthingslinux.org |
| PR/other | Development | allthingslinux.dev |
Quick setup:
See docs/integrations/quickbooks.md for detailed QuickBooks integration setup.
Architecture: Separate Cloudflare Workers for dev/prod with isolated R2/KV bindings. .github/workflows/deploy.yml automatically handles branch detection and deploys to appropriate worker.
pnpm run deploy:dev # Deploy immediately to dev
```bash
pnpm run deploy:prod # Deploy immediately to prod
pnpm run deploy # Quick production deploypnpm run version:upload # Upload version to production
```bash
pnpm run version:list # List all versions
pnpm run version:deploy # Deploy latest versionBenefits:
# Full production build (Next.js + OpenNext for Cloudflare)
pnpm run build:all
# Next.js build only
pnpm run build
# Preview build locally (tests the Cloudflare Workers build)
pnpm run preview # Standard preview
pnpm run preview:profile # Preview with profiling settings# Development commands
```bash
pnpm run dev:all # Start all services
pnpm run trigger # Start Trigger.dev CLIFor automatic deployments, use GitHub Environments with secrets:
Separate Workers: Development and production use separate Cloudflare Workers for complete isolation.
Note: GitHub Actions automatically manages secrets during CI/CD. Manual secret management is mainly for local testing.
For manual secret setup from your local machine:
# 1. Create .env.secrets.dev and .env.secrets.prod files (gitignored)
# Format: KEY=value (one per line)
# .env.secrets.dev: Sandbox QuickBooks + other dev secrets
# .env.secrets.prod: Production QuickBooks + other prod secrets
# 2. Upload to Cloudflare Worker (sets secrets in respective environment workers)
```bash
pnpm run secrets:dev # Upload secrets to dev worker
pnpm run secrets:prod # Upload secrets to prod worker├── app/ # Next.js App Router pages
├── components/ # React components
├── content/ # MDX blog content
├── lib/ # Utilities & integrations
├── public/ # Static assets
├── scripts/ # Build & utility scripts
```text
├── trigger/ # Background job definitions
└── wrangler.jsonc # Cloudflare Workers config
# Development
pnpm run dev:all # Full stack (Next.js + Wrangler + Trigger)
pnpm run dev # Next.js development server
pnpm run dev:turbo # Next.js with TurboPack (faster)
pnpm run wrangler # Cloudflare Workers dev server
pnpm run trigger # Trigger.dev background jobs
# Building
pnpm run build:all # Build Next.js + OpenNext
pnpm run build # Next.js build only
pnpm run build:opennext # Cloudflare OpenNext build
pnpm run build:opennext:profile # Build with profiling (unminified)
# Testing
pnpm run preview # Test built Cloudflare app locally
pnpm run check # Run all code quality checks
pnpm run lint # ESLint
pnpm run format # Prettier
pnpm run check:ts # TypeScript check
# Deployment
pnpm run deploy:dev # Deploy to development
pnpm run deploy:prod # Deploy to production
pnpm run deploy # Quick production deploy
# Version Management
pnpm run version:upload # Upload version to production
pnpm run version:list # List all versions
pnpm run version:deploy # Deploy latest version
# Secrets
pnpm run secrets:dev # Upload dev secrets to dev worker (.github/scripts/secrets.sh)
pnpm run secrets:prod # Upload prod secrets to prod worker (.github/scripts/secrets.sh)
# Infrastructure
pnpm run setup:bindings # Setup Cloudflare bindings (R2, KV)
```bash
pnpm run cf:typegen # Generate Cloudflare types
pnpm run analyze:bundle # Bundle size analysis guidance
pnpm run coc:generate # Generate Code of ConductSee PNPM_SCRIPTS.md for detailed script explanations.
# Clear caches and reinstall
```bash
rm -rf node_modules .next .open-next
pnpm install# Check secrets are uploaded (for dev environment)
npx wrangler secret list --env dev
# For production environment
npx wrangler secret list --env prod
# Re-upload if needed
# Local secrets are handled via .dev.vars```bash
# Check Trigger.dev CLI is running
pnpm run triggerFor performance analysis and debugging:
# Build with profiling (unminified code for easier debugging)
pnpm run build:opennext:profile
# Preview with profiling settings
pnpm run preview:profile
# Analyze bundle size after building
pnpm run analyze:bundle
# After running, check .open-next/server-functions/default/handler.mjs.meta.json
# Upload to https://esbuild.github.io/analyze/ for detailed bundle analysisSee CONTRIBUTING.md for detailed guidelines.
Built with ❤️ by the All Things Linux community.
| Back | FazBrowse Home | New Git URL |