Files
51l3nt51n-blog/README.md

71 lines
1.6 KiB
Markdown

# Rust Blog CMS
A simple blog CMS built with Rust, Axum, Askama, and SQLite.
## Prerequisites
- [Rust & Cargo](https://rustup.rs/) (latest stable version)
## Configuration
1. Copy the `.env.example` file to create your local `.env` file:
```bash
cp .env.example .env
```
2. Open the `.env` file and set your environment variables:
- `PORT`: The port your server will listen on (default is `3000`).
- `DATABASE_URL`: The connection string for your SQLite database (default is `sqlite://data.db`).
## Database Setup
*If you are using the `sqlx` CLI, you can create the database with:*
```bash
cargo install sqlx-cli --no-default-features --features rustls,sqlite
sqlx database create
```
*(Optionally run migrations if any exist: `sqlx migrate run`)*
## Running the app
To start the server, simply run:
```bash
cargo run
```
Then, open your web browser and navigate to `http://localhost:3000` (or whichever port you configured).
## Run with Docker
You can also run this project using Docker.
### Using Docker Compose (Recommended)
To start the application and its dependencies (like the database and attachment storage):
```bash
docker-compose up -d --build
```
The application will be accessible at `http://localhost:3000`. Persistent data (the database and attachments) will be stored in the local directory.
### Using Docker Directly
1. Build the image:
```bash
docker build -t blog-cms .
```
2. Run the container:
```bash
docker run -d \
-p 3000:3000 \
-v $(pwd)/data.db:/app/data.db \
-v $(pwd)/attachments:/app/attachments \
--name blog-cms \
blog-cms
```