# 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 ```