Skip to content

Commit fc7b3ed

Browse files
phernandezclaude
andcommitted
feat: migrate from Astro to Docus with Fly.io deployment
Replace Astro documentation site with Docus (Nuxt-based) for improved documentation features including built-in search, dark mode, and LLM-friendly output via nuxt-llms. Changes: - Remove Astro framework and React components - Add Docus with Nuxt 4, Tailwind CSS 4, and Nuxt UI - Migrate all documentation from MDX to Markdown with MDC syntax - Add Fly.io deployment with Docker containerization - Add GitHub Actions for development/production deployments - Add justfile for common development commands - Add Umami analytics integration New structure: - content/ - Documentation pages (replaces src/pages/) - app/ - Docus configuration and custom components - server/ - API routes (GitHub releases endpoint) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 2a9d25b commit fc7b3ed

154 files changed

Lines changed: 29237 additions & 16898 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
node_modules
2+
.nuxt
3+
.output
4+
dist
5+
.env*
6+
.git
7+
.github
8+
*.md
9+
!README.md
10+
.vscode
11+
.idea
12+
.DS_Store
13+
*.log
14+
coverage
15+
.claude
16+
.data

.env.development

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Fly.io Configuration
2+
DOCS_APP_NAME=development-docs-basicmemory
3+
FLY_REGION=sjc
4+
NODE_ENV=production

.env.production

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Fly.io Configuration
2+
DOCS_APP_NAME=production-docs-basicmemory
3+
FLY_REGION=sjc
4+
NODE_ENV=production
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Deploy to Development
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
environment: development
12+
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Fly CLI
18+
uses: superfly/flyctl-actions/setup-flyctl@master
19+
20+
- name: Generate fly.toml
21+
run: |
22+
set -a
23+
source .env.development
24+
set +a
25+
envsubst < fly.toml.template > fly.toml
26+
cat fly.toml
27+
28+
- name: Deploy to Fly.io
29+
run: |
30+
GIT_SHA="${{ github.sha }}"
31+
flyctl deploy --remote-only --build-arg CACHE_BUST="$GIT_SHA"
32+
env:
33+
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Deploy to Production
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
deploy:
8+
runs-on: ubuntu-latest
9+
environment: production
10+
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Setup Fly CLI
16+
uses: superfly/flyctl-actions/setup-flyctl@master
17+
18+
- name: Generate fly.toml
19+
run: |
20+
set -a
21+
source .env.production
22+
set +a
23+
envsubst < fly.toml.template > fly.toml
24+
cat fly.toml
25+
26+
- name: Deploy to Fly.io
27+
run: |
28+
GIT_SHA="${{ github.sha }}"
29+
flyctl deploy --remote-only --build-arg CACHE_BUST="$GIT_SHA"
30+
env:
31+
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

.github/workflows/deploy.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.gitignore

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
1-
# build output
2-
dist/
3-
# generated types
4-
.astro/
1+
# Nuxt build outputs
2+
.nuxt
3+
.output
4+
dist
55

6-
# dependencies
7-
node_modules/
6+
# Dependencies
7+
node_modules
88

9-
# logs
9+
# Environment files
10+
.env
11+
.env.*
12+
!.env.example
13+
!.env.development
14+
!.env.production
15+
16+
# Generated fly.toml
17+
fly.toml
18+
19+
# Logs
1020
npm-debug.log*
1121
yarn-debug.log*
1222
yarn-error.log*
1323
pnpm-debug.log*
1424

15-
16-
# environment variables
17-
.env
18-
.env.production
19-
20-
# macOS-specific files
25+
# macOS
2126
.DS_Store
2227

23-
# jetbrains setting folder
28+
# IDE
2429
.idea/
30+
.vscode/
31+
32+
# Docus data
33+
.data

Dockerfile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FROM node:22-bullseye AS build
2+
WORKDIR /app
3+
4+
ARG CACHE_BUST=unknown
5+
6+
# Copy package files
7+
COPY package.json package-lock.json ./
8+
9+
# Install dependencies
10+
RUN npm ci
11+
12+
# Copy source
13+
COPY . .
14+
15+
# Build the application
16+
RUN npx nuxt prepare && npx nuxt build
17+
18+
# Production image
19+
FROM node:22-slim AS prod
20+
21+
RUN apt-get update && apt-get install -y \
22+
curl \
23+
ca-certificates \
24+
&& rm -rf /var/lib/apt/lists/*
25+
26+
WORKDIR /app
27+
28+
COPY --from=build /app/.output ./.output
29+
30+
EXPOSE 3000
31+
32+
CMD ["node", ".output/server/index.mjs"]

0 commit comments

Comments
 (0)