Rails启动器

railway-htmx-ruby-rails8-pg — Rails 启动器模板

作者 atoolz

基于 Ruby on Rails 8、HTMX 与 PostgreSQL 的待办事项启动器,提供 Dockerfile 与 Railway 部署配置。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

1 个预览视图
作者提供的预览
作者提供的预览

来自项目 README 的原始预览。

目前有 1 张原始预览,可打开完整图片查看设计细节。

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-04查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

使用 HTMX 处理待办事项的局部页面更新,界面不依赖 Hotwire 的 Stimulus 或 Turbo

02

提供 Dockerfile 与 Railway 部署配置,生产环境通过 DATABASE_URL 连接 PostgreSQL

03

内置 GET /health 健康检查端点,用于确认数据库连通性

04

docker-entrypoint.sh 在未设置 SECRET_KEY_BASE 时自动生成,便于快速启动演示

05

采用 ERB 模板与 Active Record ORM,前端通过 CDN 引入 Tailwind

模板详细介绍

这是一个面向 Railway 的 Rails 启动器模板,用 HTMX 处理待办事项(todos)的局部页面替换,界面不使用 Hotwire 的 Stimulus 或 Turbo。模板采用 ERB 作为模板引擎,Active Record 作为 ORM,前端通过 CDN 引入 Tailwind。

部署方面,仓库提供 Dockerfile,生产环境 config/database.yml 读取 DATABASE_URL;当 RAILS_ALLOWED_HOSTS 为空时会放宽 config.hosts,以便 Railway 分配的主机名可以访问。docker-entrypoint.sh 在未设置 SECRET_KEY_BASE 时用 openssl 生成一个,适合演示用途,多实例部署时需显式设置以保证 cookie 一致。GET /health 会检查数据库连通性。

该模板属于作者维护的 HTMX Railway 系列之一,同系列覆盖 Go、Java、Node、Python、Rust 等后端栈,本仓库对应 Ruby + Rails 8。仓库采用 MIT 许可,可免费使用、修改、商用和分发代码,但演示图片、字体、图标等第三方素材需单独核对许可,Railway 托管与 PostgreSQL 等外部服务可能产生费用。

Rails启动器

适合你的项目吗?

适用场景

  • 在 Railway 上快速部署一个使用 HTMX 的 Rails 待办事项示例应用
  • 作为学习 Rails 8 与 HTMX 配合实现局部页面替换的参考项目
  • 对比不同后端栈(Go、Java、Node、Python、Rust 等)实现同一 HTMX 模式的差异
  • 为需要 PostgreSQL 与 Docker 部署的 Rails 项目提供起步结构

适合人群

  • 熟悉 Ruby on Rails 并希望尝试 HTMX 的开发者
  • 需要在 Railway 上部署 Rails + PostgreSQL 应用的团队
  • 寻找轻量级、不含 Hotwire 前端方案的 Rails 启动模板的开发者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    部署到 Railway 时需添加 PostgreSQL 服务,并将 DATABASE_URL 设为 ${{Postgres.DATABASE_URL}}

  2. 2

    可选设置 SECRET_KEY_BASE(可用 bin/rails secret 生成);多实例部署时应显式设置以保证 cookie 一致

  3. 3

    本地开发需先 bundle install,设置 DATABASE_URL 后执行 bin/rails db:migrate,再以 bin/rails s -b 0.0.0.0 -p 8080 启动

  4. 4

    PORT 环境变量可选,默认 8080

  5. 5

    健康检查路径为 GET /health

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 该模板面向 Railway 平台部署,使用其托管服务需注册 Railway 账号,Railway 与 PostgreSQL 托管可能产生费用。
  • 运行需要外部 PostgreSQL 数据库服务,需自行提供 DATABASE_URL,非纯静态或本地独立运行。
  • 多实例部署时需显式设置 SECRET_KEY_BASE,否则各实例自动生成的密钥不一致会导致 cookie 失效。
  • 当 RAILS_ALLOWED_HOSTS 为空时会放宽主机校验,生产环境应显式配置允许的主机名以避免安全风险。
  • 前端 Tailwind 通过 CDN 引入,运行时依赖外部 CDN 服务可用性。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

One-click deploy to Railway

README 原文

Railway **PostgreSQL**

README 原文

Optional: `SECRET_KEY_BASE` (`bin/rails secret`)

README 原文

**`config.hosts`** is relaxed when `RAILS_ALLOWED_HOSTS` is blank

README 原文

HTMX + Tailwind (CDN)

README 原文
https://github.com/atoolz/railway-htmx-ruby-rails8-pg/blob/main/LICENSEhttps://github.com/atoolz/railway-htmx-ruby-rails8-pg/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料一般 · 68 / 100
技术栈
Rails
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-03-30
截图检查日期
2026-10-04

目前没有记录演示链接。请依据仓库说明在本地评估;仅凭截图无法确认交互行为。

目录记录的主要技术栈是 Rails。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-04

查看当时使用的来源资料

SHA-256: aec2d0229cf5a89a04e359f73d3a7b0b978d30544ed3590071e9072d1430a490

2026-10-04T02:43:51.321Z

来源文件 / 仓库
<p align="center">
  <img src="assets/banner.png" alt="HTMX + Rails 8 + PostgreSQL Railway Template" width="100%">
</p>

<p align="center">
  <strong>Production-ready HTMX starter with Ruby on Rails 8, ERB, and PostgreSQL. One-click deploy to Railway.</strong>
</p>

<p align="center">
  <a href="https://railway.com/deploy/htmx-rails8-postgres">
    <img src="https://railway.com/button.svg" alt="Deploy on Railway">
  </a>
</p>

<p align="center">
  <a href="https://github.com/atoolz/railway-htmx-ruby-rails8-pg/blob/master/LICENSE">
    <img src="https://img.shields.io/github/license/atoolz/railway-htmx-ruby-rails8-pg?style=flat-square&color=00c9a7" alt="License">
  </a>
  <img src="https://img.shields.io/badge/Ruby-3.3-CC342D?style=flat-square" alt="Ruby 3.3">
  <img src="https://img.shields.io/badge/Rails-8-D30001?style=flat-square" alt="Rails 8">
  <img src="https://img.shields.io/badge/HTMX-2.0.7-3366CC?style=flat-square" alt="HTMX 2.0.7">
  <img src="https://img.shields.io/badge/PostgreSQL-16-336791?style=flat-square" alt="PostgreSQL">
</p>

<br>

## Deploy and Host HTMX + Rails 8 + PostgreSQL Starter on Railway

Minimal Rails app (no Hotwire Stimulus/Turbo in the UI) using **HTMX** for todos. **Production** `config/database.yml` uses **`DATABASE_URL`**. **`config.hosts`** is relaxed when `RAILS_ALLOWED_HOSTS` is blank so Railway hostnames work. **`docker-entrypoint.sh`** sets **`SECRET_KEY_BASE`** with `openssl` if unset (fine for demos; set explicitly for multi-instance cookie consistency). **`GET /health`** checks the DB.

### Dependencies for Hosting

- Railway **PostgreSQL**
- `DATABASE_URL` = `${{Postgres.DATABASE_URL}}`
- Optional: `SECRET_KEY_BASE` (`bin/rails secret`)

#### Deployment Dependencies

- [HTMX](https://htmx.org/docs/)
- [Ruby on Rails](https://rubyonrails.org/)

<br>

## What's Inside

| Layer | Technology | Role |
|-------|-----------|------|
| **Frontend** | HTMX + Tailwind (CDN) | Partial swaps |
| **Templating** | ERB | Layout + partials |
| **ORM** | Active Record | Todo model |

<br>

## Deploy to Railway

1. Add **PostgreSQL** + web service (Dockerfile)
2. Set **`DATABASE_URL`**
3. Optionally set **`SECRET_KEY_BASE`**
4. Health check: **`GET /health`**

<br>

## Local Development

```bash
bundle install
export DATABASE_URL="postgres://user:pass@localhost:5432/htmx_dev"
bin/rails db:migrate
bin/rails s -b 0.0.0.0 -p 8080
```

<br>

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `DATABASE_URL` | Yes | - | PostgreSQL URL |
| `SECRET_KEY_BASE` | No | Generated in entrypoint if empty | Rails secret |
| `PORT` | No | `8080` | Puma/server port |

<br>

## Part of the HTMX Railway Collection

This is one of 15 HTMX starter templates covering different backend stacks, all following the same pattern and ready for Railway deployment:

| Stack | Status |
|-------|--------|
| Bun + Elysia | Coming soon |
| .NET + Razor | Coming soon |
| Elixir + Phoenix | Coming soon |
| Go + Chi | [Live](https://github.com/atoolz/railway-htmx-go-templ-chi-pg) |
| Go + Echo | [Live](https://github.com/atoolz/railway-htmx-go-templ-echo-pg) |
| Go + Fiber | [Live](https://github.com/atoolz/railway-htmx-go-templ-fiber-pg) |
| Java + Spring Boot (MySQL) | [Live](https://github.com/atoolz/railway-htmx-java-spring-thymeleaf-mysql) |
| Java + Spring Boot (PostgreSQL) | [Live](https://github.com/atoolz/railway-htmx-java-spring-thymeleaf-pg) |
| Node + Express | [Live](https://github.com/atoolz/railway-htmx-node-express-ejs-pg) |
| Node + Hono | [Live](https://github.com/atoolz/railway-htmx-node-hono-jsx-pg) |
| PHP + Laravel | [Live](https://github.com/atoolz/railway-htmx-php-laravel-mysql) |
| Python + Django | [Live](https://github.com/atoolz/railway-htmx-python-django-pg) |
| Python + FastAPI | [Live](https://github.com/atoolz/railway-htmx-python-fastapi-jinja2-pg) |
| **Ruby + Rails 8** | **This repo** |
| Rust + Axum + Askama | [Live](https://github.com/atoolz/railway-htmx-rust-axum-askama-pg) |

<br>

## License

[MIT](LICENSE)

---

<p align="center">
  <sub>Built by <a href="https://github.com/atoolz">AToolZ</a> for the HTMX community</sub>
</p>
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。