Skip to content

Team-APE-RIP/edu

Repository files navigation

Team APE:RIP | 教学

Rust + Axum + PostgreSQL 的开放代码知识共享平台。一个容器同时监听三组端口:

  • A 端口:公开知识站点,首页、文章、标签、系列、模糊搜索、热度统计。
  • B 端口:AI/API 查询入口,顶级页展示接口规范,/search 提供模糊检索和正则检索。
  • C 端口:隐藏后台,登录路径由 .envADMIN_LOGIN_SUFFIX 决定。
  • .env.example 给出的端口示例为 A=38080,B=38081,C=38082,PostgreSQL=38084

部署

Copy-Item .env.example .env

编辑 .env,至少替换 POSTGRES_PASSWORDADMIN_LOGIN_SUFFIXADMIN_ROOT_PASSWORD。运行配置没有内置端口默认值,缺少必要变量时 Compose 或应用会直接报错。

如果服务器访问 Docker Hub 不稳定,可以把 .env 里的 RUST_IMAGERUNTIME_IMAGEPOSTGRES_IMAGE 改成你信任的镜像源地址,业务代码不需要改。

docker compose up -d --build

清理本地构建中间产物:

python scripts/clean_build.py --build-release

PostgreSQL 数据、Markdown 原文、上传资源都会持久化在 ./data

data/
  postgres/
  articles/
  uploads/

Markdown 格式

文章支持 YAML 头部声明。没有声明也能上传,但建议使用固定格式:

---
title: Rust 部署笔记
description: Axum 服务、Docker Compose 与 PostgreSQL 的部署要点。
tags: [rust, docker, postgres]
category: backend
series: rust-platform
status: published
extra_links:
  - rel: stylesheet
    href: /uploads/article-extra.css
extra_styles: |
  .article-prose strong { color: #0f766e; }
buttons:
  - label: 查看仓库
    href: https://github.com/
    variant: primary
---

# 正文

```rust
fn main() {}

渲染后的文章会自动链接固定资源:`/assets/fonts.css`、`/assets/site.css`、`/assets/app.js`、`/assets/icons.svg`。代码块带一键复制。

## API

- `GET /search?q=rust&limit=10`
- `GET /search?regex=rust|docker&limit=10`
- `GET /articles/{article_code}`
- `GET /tags`
- `GET /series`

## 后台

C 端口根路径不会暴露后台入口。登录地址由隐藏后缀组成:

```text
http://your-host:PORT_C/{ADMIN_LOGIN_SUFFIX}/login

后台支持上传 Markdown、在线编辑、预览发布效果、修改标题/标签/分类/系列/状态,并查看浏览数据。 后台的资源页可上传 CSS、图片、字体等文件,文件会保存到 data/uploads,公开访问路径为 /uploads/{文件名}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors