mirror of
https://github.com/ourongxing/newsnow.git
synced 2025-01-19 11:19:14 +08:00
52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
# NewsNow
|
|
![](screenshots/preview.light.png#gh-light-mode-only)
|
|
![](screenshots/preview.dark.png#gh-dark-mode-only)
|
|
|
|
English | [简体中文](README.zh-CN.md)
|
|
|
|
***Elegant reading of real-time and hottest news***
|
|
|
|
## Deployment
|
|
|
|
If login and caching are not required, you can directly deploy to platforms like Cloudflare Pages or Vercel. Just fork the repository and import it into the respective platform.
|
|
|
|
For login, which involves GitHub OAuth, you only need to [create a GitHub App](https://github.com/settings/applications/new). No special permissions are required. After creating the app, you will get a Client ID and Client Secret. Different platforms have different places to set environment variables; refer to the `example.env.server` file. If running locally, rename it to `.env.server` and add the necessary values.
|
|
|
|
```env
|
|
# Github Client ID
|
|
G_CLIENT_ID=
|
|
# Github Client Secret
|
|
G_CLIENT_SECRET=
|
|
# JWT Secret, usually the same as Client Secret
|
|
JWT_SECRET=
|
|
# Initialize database, must be set to true on first run, can be turned off afterward
|
|
INIT_TABLE=true
|
|
```
|
|
|
|
This project primarily supports deployment on Cloudflare Pages and Docker. For Vercel, you need to set up your own database. Supported databases can be found at https://db0.unjs.io/connectors .
|
|
|
|
Cloudflare D1 database is free to use. You can manually create a database in the Cloudflare Worker control panel and add the `database_id` and `database_name` to the corresponding positions in `wrangler.toml`. The changes will take effect on the next deployment.
|
|
|
|
For Docker deployment. In the project root directory with `docker-compose.yml`, run
|
|
|
|
```sh
|
|
docker compose up
|
|
```
|
|
|
|
## Development
|
|
|
|
> [!TIP]
|
|
> Node version >= 20
|
|
|
|
```sh
|
|
corepack enable
|
|
pnpm i
|
|
pnpm dev
|
|
```
|
|
|
|
If you want to add data sources, refer to the `shared/metadata`, `shared/sources`, and `server/sources` directories. The project has complete types and a simple structure; feel free to explore.
|
|
|
|
## License
|
|
|
|
[MIT](./LICENSE) © ourongxing
|