Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/api-reference/auth/sendVerificationEmail.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ _openapi:
Send a verification email to the user email address.

The email is only sent if have configured [SMTP mail
server](https://docs.logchimp.codecarrot.net/docs/environment-variables#mail)
server](https://docs.logchimp.codecarrot.net/self-hosting/environment-variables#mail)
are configured at the time of deploying LogChimp.
---

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

Send a verification email to the user email address.
The email is only sent if have configured [SMTP mail server](https://docs.logchimp.codecarrot.net/docs/environment-variables#mail) are configured at the time of deploying LogChimp.
The email is only sent if have configured [SMTP mail server](https://docs.logchimp.codecarrot.net/self-hosting/environment-variables#mail) are configured at the time of deploying LogChimp.


<APIPage document={"./content/api-reference/openapi.yaml"} operations={[{"path":"/auth/email/verify","method":"post"}]} webhooks={[]} hasHead={false} />
19 changes: 19 additions & 0 deletions content/docs/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"root": true,
"pages": [
"---Introduction---",
"what-is-logchimp",
"---Getting Started---",
"install",
"environment-variables",
"---Resources---",
"resources/ecosystem",
"resources/architecture",
"resources/support",
"---Miscellaneous---",
"[HandHelping][Contributing](https://github.com/logchimp/logchimp/blob/master/CONTRIBUTING.md)",
"miscellaneous/faq",
"miscellaneous/security-policy"
],
"defaultOpen": true
}
25 changes: 25 additions & 0 deletions content/platform/additional-resources/breaking-changes-pg18.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Breaking Changes: PostgreSQL 12 → 18

<Alert type="warning">
⚠️ **Important Notice:**
Upgrading to PostgreSQL 18 introduces a new cluster storage layout that is **not compatible** with PostgreSQL 12.
Existing Docker volumes or data directories from v12 **will fail to start** unless properly migrated.
Please back up your data and follow the steps below before proceeding with any upgrade.
</Alert>

## Summary
PostgreSQL 18 introduces a new cluster storage layout incompatible with version 12.

## Impact
- Existing Docker volumes from v12 will fail to mount directly.
- `pg_upgrade` or data export/import is required.
- Environment variables and data paths differ (`/var/lib/postgresql/18/data`).

## Recommended Action
1. Backup all data from v12.
2. Use the official upgrade container or `pg_upgrade`.
3. Verify compatibility in staging before production rollout.

## References
- [PostgreSQL Docker Migration Notes](https://github.com/docker-library/postgres/pull/1259)
- [Official PostgreSQL Upgrade Guide](https://www.postgresql.org/docs/18/pgupgrade.html)
11 changes: 11 additions & 0 deletions content/self-hosting/deployments/railway.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,20 @@ There are many ways to [install LogChimp](/self-hosting/installation). With Rail
notifications and more.
</Alert>

<<<<<<< HEAD:content/self-hosting/deployments/railway.mdx
<a href="https://railway.app/new/template/3Bm-Un?referralCode=mittalyashu&utm_medium=integration&utm_source=button&utm_campaign=logchimp">
<img src="https://railway.app/button.svg" alt="Deploy on Railway" />
</a>
=======
<Alert type="warning">
⚠️ **Breaking Change (PostgreSQL 12 → 18)**
LogChimp now uses PostgreSQL 18 which introduces an incompatible data directory structure.
Existing Docker volumes or databases from PostgreSQL 12 **will not work directly** with this version.
Please review the [Breaking Change – PostgreSQL 12 → 18](/docs/miscellaneous/breaking-changes-pg18) page before upgrading or deploying.
</Alert>

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template/3Bm-Un?referralCode=mittalyashu)
>>>>>>> a15bdd0 (docs: add PostgreSQL 12→18 breaking change notice and link from Docker page):content/docs/install/railway.mdx
Comment on lines +16 to +29
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Resolve merge conflict in deploy button section.

This file contains an unresolved merge conflict. The HEAD version keeps the original HTML link tag for the deploy button, while the incoming version adds a breaking change alert and converts to markdown syntax for the deploy button.

Resolve by:

  1. Removing the conflict markers.
  2. Choosing which version structure to keep (incoming version recommended as it warns users about PostgreSQL 12→18 incompatibility before deployment).
  3. Verifying the breaking change link path /docs/miscellaneous/breaking-changes-pg18 is correct.


---

🏁 Script executed:

```shell
#!/bin/bash
# Check if the merge conflict file exists and contains merge markers
find . -type f -name "railway.mdx" 2>/dev/null | head -20

Length of output: 46


🏁 Script executed:

#!/bin/bash
# Look for the breaking change documentation file
find . -type f -name "*breaking*pg18*" -o -name "*breaking-changes*" 2>/dev/null | grep -E "\.(md|mdx)$" | head -20

Length of output: 65


🏁 Script executed:

#!/bin/bash
# Search for breaking change references in the codebase
rg "breaking-changes-pg18" --type md --type mdx -n

Length of output: 27


🏁 Script executed:

#!/bin/bash
# Check the documentation structure for miscellaneous section
fd "miscellaneous" --type d 2>/dev/null

Length of output: 0



---

🏁 Script executed:

```shell
#!/bin/bash
# View the actual content of the railway.mdx file to confirm merge conflict markers
cat ./content/self-hosting/deployments/railway.mdx | head -40

Length of output: 1928


🏁 Script executed:

#!/bin/bash
# Search for how documentation links are typically formatted in this codebase
rg "/docs/" --type-list | head -5

Length of output: 389


🏁 Script executed:

#!/bin/bash
# Search for how breaking-changes or similar documentation is linked
rg "breaking-change" -A2 -B2 2>/dev/null | head -40

Length of output: 2392


🏁 Script executed:

#!/bin/bash
# Check if there's a docs structure or config file
find . -maxdepth 2 -name "*.config.*" -o -name "next.config.*" -o -name "docusaurus.config.*" -o -name "astro.config.*" 2>/dev/null | head -10

Length of output: 79



---

🏁 Script executed:

```shell
#!/bin/bash
# Check the breaking-changes-pg18.mdx file for any slug or path configuration
cat ./content/platform/additional-resources/breaking-changes-pg18.mdx | head -30

Length of output: 1086


🏁 Script executed:

#!/bin/bash
# Inspect source.config.ts to understand path mapping
cat ./source.config.ts

Length of output: 532


🏁 Script executed:

#!/bin/bash
# Search for how other docs link to pages in miscellaneous section
rg "miscellaneous/" --type mdx -A1 -B1 | head -50

Length of output: 27


🏁 Script executed:

#!/bin/bash
# Check if there's a miscellaneous directory that might be a symlink or separate collection
find . -path "*miscellaneous*" -type d 2>/dev/null

Length of output: 0



---

🏁 Script executed:

```shell
#!/bin/bash
# Check the self-hosting meta.json file
cat ./content/self-hosting/meta.json

Length of output: 420


🏁 Script executed:

#!/bin/bash
# Search for valid internal link patterns used in other .mdx files
rg "\(/docs/" --type=md -o | sort | uniq | head -30

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Check if there's a breaking-changes file in self-hosting directory structure
find ./content/self-hosting -name "*breaking*" -type f

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Look for any miscellaneous reference in the codebase
rg "miscellaneous" -n | head -20

Length of output: 852



---

🏁 Script executed:

```shell
#!/bin/bash
# Find where faq and security-policy files are located
find ./content -name "*faq*" -o -name "*security-policy*" 2>/dev/null

Length of output: 106


🏁 Script executed:

#!/bin/bash
# Check if there should be a content/docs/miscellaneous directory
ls -la ./content/docs/ 2>/dev/null

Length of output: 166


🏁 Script executed:

#!/bin/bash
# Look for all files in content/docs structure
find ./content/docs -type f -name "*.mdx" 2>/dev/null | head -20

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Inspect next.config.mjs to see if there are redirects for breaking-changes-pg18
cat ./next.config.mjs | grep -A5 -B5 "breaking-changes"

Length of output: 0



---

🏁 Script executed:

```shell
#!/bin/bash
# View full next.config.mjs to check all redirects and routing
cat ./next.config.mjs

Length of output: 3253


🏁 Script executed:

#!/bin/bash
# Search for platform routing patterns
rg "platform" ./next.config.mjs -A2 -B2

Length of output: 833


🏁 Script executed:

#!/bin/bash
# Check how internal links work in existing docs
rg "\]\(/.*/" content/platform/additional-resources/ -n | head -10

Length of output: 396


Resolve merge conflict and add missing route for breaking change documentation.

The merge conflict in railway.mdx (lines 16-29) must be resolved. Additionally, the incoming version references /docs/miscellaneous/breaking-changes-pg18, which is currently broken—this path has no corresponding redirect in next.config.mjs, unlike the working /docs/miscellaneous/faq and /docs/miscellaneous/security-policy routes.

Required fixes:

  1. Remove merge conflict markers from railway.mdx
  2. Keep the incoming version (with breaking change alert and markdown link syntax)
  3. Add missing redirect to next.config.mjs:
    {
      source: "/docs/miscellaneous/breaking-changes-pg18",
      destination: "/platform/additional-resources/breaking-changes-pg18",
    }
    
  4. Apply the same fixes to content/self-hosting/docker.mdx and content/self-hosting/deployments/render.mdx (they contain identical broken links)
🤖 Prompt for AI Agents
In content/self-hosting/deployments/railway.mdx around lines 16-29, remove the
git merge conflict markers and keep the incoming block that includes the Alert
warning and the markdown-style Deploy on Railway link so the breaking-change
notice remains; then add a redirect entry in next.config.mjs mapping source
"/docs/miscellaneous/breaking-changes-pg18" to destination
"/platform/additional-resources/breaking-changes-pg18" (follow the existing
redirect object structure), and apply the same merge-conflict resolution and
ensure the identical broken link is fixed in content/self-hosting/docker.mdx and
content/self-hosting/deployments/render.mdx by replacing their conflicted
section with the incoming Alert/link and ensuring the new redirect is present in
next.config.mjs.


All the environment variables are pre-configured for you. You can learn more about them [here](/self-hosting/environment-variables).

Expand Down
11 changes: 11 additions & 0 deletions content/self-hosting/deployments/render.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,18 @@ Clicking the "Deploy to Render" button will redirect you to the Render blueprint
notifications and more.
</Alert>

<<<<<<< HEAD:content/self-hosting/deployments/render.mdx
All the environment variables are pre-configured for you. You can learn more about them [here](/self-hosting/environment-variables).
=======
<Alert type="warning">
⚠️ **Breaking Change (PostgreSQL 12 → 18)**
LogChimp now uses PostgreSQL 18 which introduces an incompatible data directory structure.
Existing Docker volumes or databases from PostgreSQL 12 **will not work directly** with this version.
Please review the [Breaking Change – PostgreSQL 12 → 18](/docs/miscellaneous/breaking-changes-pg18) page before upgrading or deploying.
</Alert>

All the environment variables are pre-configured for you. You can learn more about them [here](/docs/environment-variables).
>>>>>>> a15bdd0 (docs: add PostgreSQL 12→18 breaking change notice and link from Docker page):content/docs/install/render.mdx
Comment on lines +16 to +27
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Resolve merge conflict with environment-variables link path inconsistency.

This file contains an unresolved merge conflict with conflicting link paths:

  • HEAD version (line 17) uses: /self-hosting/environment-variables
  • Incoming version (line 26) uses: /docs/environment-variables

This conflicts with the link updates in content/api-reference/auth/sendVerificationEmail.mdx, which consistently uses /self-hosting/environment-variables. Align all references to use the correct path.

Additionally, resolve the merge conflict by:

  1. Removing the conflict markers.
  2. Deciding whether to keep the breaking change alert (recommended, from incoming version).
  3. Ensuring the environment-variables link path is consistent.

I'll verify the review comment by inspecting the repository state and checking the link path consistency.

</shell_scripts_instructions>


🏁 Script executed:

#!/bin/bash
# Check the current state of render.mdx file
echo "=== Checking render.mdx file ===" 
fd -t f "render.mdx" --exec cat {} \; 2>/dev/null | head -50

echo -e "\n=== Checking sendVerificationEmail.mdx for environment-variables link ===" 
fd -t f "sendVerificationEmail.mdx" --exec rg -n "environment-variables" {} \;

echo -e "\n=== Searching all content for environment-variables link patterns ===" 
rg -n "environment-variables" --type=mdx -B2 -A2 | head -80

Length of output: 2593



🏁 Script executed:

#!/bin/bash
# Search for environment-variables references without type constraint
echo "=== All environment-variables references ===" 
rg "environment-variables" -n -B1 -A1 | head -100

echo -e "\n=== Check if environment-variables file exists ===" 
fd -t f "environment-variables" 

echo -e "\n=== Check directory structure for self-hosting and docs paths ===" 
fd -t d "self-hosting|docs" --max-depth 2 | grep -E "(self-hosting|docs)$"

Length of output: 3668


Resolve merge conflict and correct environment-variables link path.

The merge conflict in content/self-hosting/deployments/render.mdx (lines 16-27) must be resolved. The canonical path is /self-hosting/environment-variables (file location: content/self-hosting/environment-variables.mdx), used consistently across docker.mdx, railway.mdx, and sendVerificationEmail.mdx. The incoming version incorrectly uses /docs/environment-variables, which is only a redirect alias defined in next.config.mjs.

Remove conflict markers and:

  1. Keep the breaking change alert from the incoming version (lines 19-23).
  2. Use /self-hosting/environment-variables for the link (HEAD path is correct).
  3. Ensure the complete resolved block appears once without duplication.
🤖 Prompt for AI Agents
In content/self-hosting/deployments/render.mdx around lines 16 to 27, remove the
Git merge conflict markers and duplicate text, keep the incoming breaking-change
Alert block (the PostgreSQL 12→18 warning) and the existing sentence about
environment variables, but update the link target to the canonical
/self-hosting/environment-variables path; ensure the final file contains a
single resolved block with the Alert followed by "All the environment variables
are pre-configured for you. You can learn more about them
[/self-hosting/environment-variables]" and no leftover conflict markers or
duplicate lines.


<a href="https://render.com/deploy?repo=https://github.com/logchimp/deploy-buttons">
<img src="https://render.com/images/deploy-to-render-button.svg" alt="Deploy to Render" />
Expand Down
16 changes: 16 additions & 0 deletions content/self-hosting/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,19 @@ Phew! That was a lot of work! Let's move to next step.
Connect your application with LogChimp.
</Card>
</Cards>
<<<<<<< HEAD:content/self-hosting/docker.mdx
=======

## Resources

- LogChimp Docker images:
- APIs - [link](https://github.com/orgs/logchimp/packages/container/package/logchimp%2Fapi)
- Theme - [link](https://github.com/orgs/logchimp/packages/container/package/logchimp%2Ftheme)

<Alert type="warning">
⚠️ **Breaking Change (PostgreSQL 12 → 18)**
LogChimp now uses PostgreSQL 18 which introduces an incompatible data directory structure.
Existing Docker volumes or databases from PostgreSQL 12 **will not work directly** with this version.
Please review the [Breaking Change – PostgreSQL 12 → 18](/docs/miscellaneous/breaking-changes-pg18) page before upgrading or deploying.
</Alert>
>>>>>>> a15bdd0 (docs: add PostgreSQL 12→18 breaking change notice and link from Docker page):content/docs/install/docker.mdx
Comment on lines +101 to +116
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Unresolved merge conflict with duplicate Resources section.

This file contains unresolved merge conflict markers. The Resources section (lines 68–72) appears earlier in the file and is duplicated in the incoming branch version (lines 104–108). You must resolve this conflict by:

  1. Removing the duplicate Resources section.
  2. Resolving which version of the breaking change alert to keep (or merging intentionally).
  3. Removing the conflict markers.

Additionally, the breaking change alert link points to /docs/miscellaneous/breaking-changes-pg18, but the page structure suggests this should align with the nav entry from meta.json. Please verify the correct URL path.


I'll verify the merge conflict and the specific issues mentioned in the review comment.


---

🏁 Script executed:

```shell
#!/bin/bash
# Find docker.mdx files in the repository
fd -t f 'docker\.mdx' 

Length of output: 31


🏁 Script executed:

#!/bin/bash
# Search for merge conflict markers in the repository
rg -n '<<<<<<< HEAD' --type markdown

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Check for the breaking change document
fd -t f 'breaking.*pg18' 

Length of output: 63


🏁 Script executed:

#!/bin/bash
# Examine meta.json for navigation structure related to breaking changes
find . -name 'meta.json' -type f | head -5

Length of output: 152


I need to check the actual file content and navigation structure to verify the issues.


---

🏁 Script executed:

```shell
#!/bin/bash
# Get content of docker.mdx around the specified lines (101-116)
sed -n '60,120p' content/self-hosting/docker.mdx

Length of output: 2072


🏁 Script executed:

#!/bin/bash
# Check content/platform/meta.json for breaking-changes-pg18 path
cat content/platform/meta.json | grep -A 5 -B 5 'breaking-changes-pg18'

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Search for Resources section in docker.mdx
rg -n 'Resources' content/self-hosting/docker.mdx -A 5

Length of output: 501


I can see the merge conflict and issues. Let me verify the correct navigation path for the breaking change document.


---

🏁 Script executed:

```shell
#!/bin/bash
# Get full platform/meta.json to see navigation structure
cat content/platform/meta.json

Length of output: 247


🏁 Script executed:

#!/bin/bash
# Verify the breaking change document exists and check its structure
head -20 content/platform/additional-resources/breaking-changes-pg18.mdx

Length of output: 826


Resolve unresolved merge conflict, remove duplicate Resources section, and correct the breaking change link path.

The file has unresolved merge conflict markers at lines 84-117. The Resources section is duplicated (lines 68-72 and lines 104-108 within the conflict). Additionally, the breaking change alert references an incorrect path: the link /docs/miscellaneous/breaking-changes-pg18 should be /platform/additional-resources/breaking-changes-pg18 to match the actual document location. The breaking change page also needs to be added to content/platform/meta.json under the pages array (e.g., "additional-resources/breaking-changes-pg18") to be properly indexed in navigation.

🤖 Prompt for AI Agents
In content/self-hosting/docker.mdx around lines 101 to 116 there are unresolved
Git merge conflict markers and a duplicated "Resources" section; remove the
conflict markers and keep a single Resources block (remove the duplicate lines),
update the breaking change Alert link from
/docs/miscellaneous/breaking-changes-pg18 to
/platform/additional-resources/breaking-changes-pg18, and then add the page id
"additional-resources/breaking-changes-pg18" to content/platform/meta.json under
the pages array so the new page is indexed in navigation.

29 changes: 16 additions & 13 deletions content/self-hosting/meta.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
{
"root": true,
"pages": [
"---Getting Started---",
"installation",
"environment-variables",
"docker",
"---Deployments---",
"deployments/railway",
"deployments/render",
"---Additional Resources---",
"support"
],
"defaultOpen": true
"root": true,
"pages": [
"---Getting Started---",
"installation",
"environment-variables",
"docker",
"---Deployments---",
"deployments/railway",
"deployments/render",
"---Additional Resources---",
"support",
"---Miscellaneous---",
"[HandHelping][Contributing](https://github.com/logchimp/logchimp/blob/master/CONTRIBUTING.md)",
"miscellaneous/breaking-changes-pg18"
],
"defaultOpen": true
}
Comment on lines 1 to 18
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Fix Biome formatter issue.

The pipeline indicates a Biome formatter error: the formatter would produce different output than the current content. Run the Biome formatter to auto-fix the formatting:

biome format --write content/self-hosting/meta.json

Or verify correct indentation and spacing manually by comparing with other meta.json files in the project.


🏁 Script executed:

#!/bin/bash
# Find all meta.json files in the repository
fd -t f "meta\.json$" --exec ls -la {} \;

Length of output: 465


🏁 Script executed:

#!/bin/bash
# Examine the specific file content
cat content/self-hosting/meta.json | od -c | head -50

Length of output: 40


🏁 Script executed:

#!/bin/bash
# Check for Biome configuration files
fd -t f "(biome\.json|biome\.jsonc|\.biomerc)" --exec cat {} \;

Length of output: 870


🏁 Script executed:

#!/bin/bash
# Look for other meta.json files to compare formatting
fd -t f "meta\.json$" -exec cat {} \; | head -100

Length of output: 187


🏁 Script executed:

#!/bin/bash
# View the self-hosting meta.json file directly
cat content/self-hosting/meta.json

Length of output: 420


🏁 Script executed:

#!/bin/bash
# View other meta.json files for comparison
echo "=== guide/meta.json ===" && cat content/guide/meta.json && echo && \
echo "=== developing/meta.json ===" && cat content/developing/meta.json && echo && \
echo "=== docs/meta.json ===" && cat content/docs/meta.json && echo && \
echo "=== platform/meta.json ===" && cat content/platform/meta.json

Length of output: 1702


🏁 Script executed:

#!/bin/bash
# Check indentation details - count leading spaces in first few lines
echo "=== self-hosting/meta.json indentation ===" && \
head -5 content/self-hosting/meta.json | sed -n 'l' && echo && \
echo "=== guide/meta.json indentation ===" && \
head -5 content/guide/meta.json | sed -n 'l'

Length of output: 241


🏁 Script executed:

#!/bin/bash
# Check api-reference meta.json indentation for completeness
echo "=== api-reference/meta.json indentation ===" && \
head -5 content/api-reference/meta.json | sed -n 'l'

Length of output: 124


Fix tab indentation to match Biome configuration.

The file uses tab characters for indentation, but Biome is configured with indentStyle: "space" and indentWidth: 2. All other meta.json files in the project use 2-space indentation. Run:

biome format --write content/self-hosting/meta.json
🧰 Tools
🪛 GitHub Actions: Biome tools

[error] 1-19: Formatter would have printed the following content: (detailed content shown in log)

🤖 Prompt for AI Agents
In content/self-hosting/meta.json around lines 1 to 18 the file uses tab
characters for indentation but the project Biome configuration requires spaces
(indentStyle: "space") with an indentWidth of 2; fix by converting all leading
tabs to 2-space indentation so it matches other meta.json files and the Biome
settings — the easiest fix is to run: biome format --write
content/self-hosting/meta.json (or replace tabs with two spaces throughout and
save).

Loading