GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 9vlc/allthingslinux

BranchesTags
Open more actions menu

Latest commit

 

History

398 Commits
398 Commits

Folders and files

NameName
Last commit message
Last commit date
.archive
.archive
 
 
.vscode
.vscode
 
 
app
app
 
 
code-of-conduct @ 1d070d4
code-of-conduct @ 1d070d4
 
 
components
components
 
 
content/blog
content/blog
 
 
data
data
 
 
lib
lib
 
 
public
public
 
 
scripts
scripts
 
 
trigger
trigger
 
 
types
types
 
 
.env.example
.env.example
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
.mise.toml
.mise.toml
 
 
.next-cache.gitignore
.next-cache.gitignore
 
 
.pnpmrc
.pnpmrc
 
 
.prettierignore
.prettierignore
 
 
PNPM_SCRIPTS.md
PNPM_SCRIPTS.md
 
 
README.md
README.md
 
 
cloudflare-env.d.ts
cloudflare-env.d.ts
 
 
components.json
components.json
 
 
contentlayer.config.ts
contentlayer.config.ts
 
 
env.ts
env.ts
 
 
eslint.config.mjs
eslint.config.mjs
 
 
middleware.ts
middleware.ts
 
 
next.config.ts
next.config.ts
 
 
open-next.config.ts
open-next.config.ts
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 
postcss.config.mjs
postcss.config.mjs
 
 
prettier.config.mjs
prettier.config.mjs
 
 
renovate.json
renovate.json
 
 
trigger.config.ts
trigger.config.ts
 
 
tsconfig.json
tsconfig.json
 
 
worker-configuration.d.ts
worker-configuration.d.ts
 
 
wrangler.dev.jsonc
wrangler.dev.jsonc
 
 
wrangler.jsonc
wrangler.jsonc
 
 
wrangler.local.jsonc
wrangler.local.jsonc
 
 
wrangler.production.jsonc
wrangler.production.jsonc
 
 

Repository files navigation

All Things Linux Website

This repository contains the source code for the All Things Linux website (allthingslinux.org).

Overview

This is a Next.js application (using the App Router) built with Tailwind CSS for styling and Contentlayer for managing MDX blog content. It is deployed to Cloudflare Workers using the OpenNext adapter (@opennextjs/cloudflare). The project also utilizes Trigger.dev for background jobs.

Deployments are automated via Cloudflare's Git integration, deploying the main branch to production and the dev branch to a development/preview environment.

Tech Stack

  • Framework: Next.js (v15+)
  • Styling: Tailwind CSS
  • Content: Contentlayer (MDX)
  • Deployment: Cloudflare Workers
  • Adapter: OpenNext (@opennextjs/cloudflare)
  • Background Jobs: Trigger.dev
  • Package Manager: pnpm
  • Node Version: Defined in package.json (engines field)

Getting Started

Prerequisites

  • Node.js (version specified in package.json)
  • pnpm (install with npm install -g pnpm or follow installation guide)
  • Access to Cloudflare account (for viewing deployments and managing secrets)
  • Trigger.dev account for background/async task management

Installation

  1. Clone the repository:
    git clone https://github.com/allthingslinux/allthingslinux.git
    cd allthingslinux
  2. Install dependencies:
    pnpm install

Local Development

  1. Secrets (.dev.vars):

    • Create a .dev.vars file in the project root. This file is ignored by Git (.gitignore).
    • Add the required environment variables and secrets needed for local development (e.g., GITHUB_TOKEN, MONDAY_API_KEY, MONDAY_BOARD_ID, DISCORD_WEBHOOK_URL, TRIGGER_SECRET_KEY). Use the format KEY=VALUE, one per line.
    • Refer to wrangler.local.jsonc (vars section) for the expected variable names.
  2. Run Development Servers:

    • To start all necessary development servers (Next.js, Wrangler, Trigger.dev) concurrently, run:
      pnpm run dev:all
    • This will typically make:
      • The Next.js app available at http://localhost:3000.
      • The Wrangler dev server (simulating Cloudflare) available at http://localhost:8788.
  3. Accessing the App: Use http://localhost:3000 for standard development with Hot Module Replacement (HMR). Use http://localhost:8788 to interact with the app as it would run within the Wrangler environment (useful for testing Cloudflare-specific bindings or logic).

Configuration Files

The project uses separate wrangler configuration files for different environments:

  • wrangler.local.jsonc: Used by pnpm run dev:wrangler and pnpm run dev:all. Reads secrets from .dev.vars.
  • wrangler.dev.jsonc: Used for deployments to the development environment (via Cloudflare Git integration on the dev branch).
  • wrangler.production.jsonc: Used for deployments to the production environment (via Cloudflare Git integration on the main branch).
  • wrangler.jsonc: Minimal file required only for the @opennextjs/cloudflare build step (due to the specific package version). Not used for deployment targeting.

Building the Project

To perform a full production build, including adapting the Next.js output for Cloudflare Workers via OpenNext, run:

pnpm run build

This executes the full build chain defined in package.json. The output suitable for Cloudflare deployment will be placed in the .open-next directory.

Deployment

Deployments are typically automated via Cloudflare's Git integration connected to the allthingslinux-development and allthingslinux-production Worker services.

  • Push to dev branch: Triggers a build and deployment to the development environment.
  • Push to main branch: Triggers a build and deployment to the production environment.

Manual deployments can be triggered using:

  • pnpm run deploy:dev (Builds and deploys to development)
  • pnpm run deploy:prod (Builds and deploys to production)
  • pnpm run deploy (Alias for deploy:prod)

Refer to the Cloudflare Worker settings for the exact build/deploy commands used by the automated process.

Secrets Management

  • Local: Use the .dev.vars file (ensure it's in .gitignore).
  • Development: Manage secrets via the Cloudflare dashboard for the allthingslinux-development Worker or using wrangler secret put <KEY> --env development.
  • Production: Manage secrets via the Cloudflare dashboard for the allthingslinux-production Worker or using wrangler secret put <KEY>.

Available Scripts

For a detailed explanation of all available pnpm scripts, please refer to the PNPM_SCRIPTS.md file in the repository root.

About

allthingslinux.org

Resources

Readme
Activity

Stars

0 stars

Watchers

0 watching

Forks

3 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.