Simple rust blog engine
Go to file
2020-02-03 14:53:38 +08:00
.github/workflows chore: use github actions 2019-08-28 09:32:10 +08:00
migrations feat: add article view 2019-06-05 11:33:41 +08:00
src feat: update to actix-web 2.0 and implement restful api 2020-02-03 14:53:38 +08:00
templates feat: optimize reading 2019-06-18 09:54:39 +08:00
.dockerignore fix: musl rust openssl dependency 2019-05-11 11:27:21 +08:00
.gitignore feat: remove extra panel 2019-06-04 11:38:24 +08:00
.travis.yml chore: add docker service 2019-06-14 00:14:03 +08:00
Cargo.lock feat: update to actix-web 2.0 and implement restful api 2020-02-03 14:53:38 +08:00
Cargo.toml feat: update to actix-web 2.0 and implement restful api 2020-02-03 14:53:38 +08:00
docker-compose.yml fix: remove dependency of docker image 2018-12-06 14:39:17 +08:00
Dockerfile chore: remove log 2019-06-10 14:38:08 +08:00
LICENSE Initial commit 2018-09-10 11:01:21 +08:00
README.md doc: fixed logo position 2019-06-02 22:47:58 +08:00
rubble.png doc: add readme logo 2019-06-02 22:46:25 +08:00
rustfmt.toml chore: update actix-web to v1.0.2 2019-06-18 15:57:15 +08:00

Rubble

a lightweight blog engine written by Rust.

Feature

Cause this project is also the tentative staff I try to write something in Rust, it would not include too many features.

  • Basic Content System without categories
  • Multiple administrators supported
  • Administractor management panel
  • Article management panel
  • Draw supported
  • Customized template
  • RSS supported

Template

Project rubble highly depends on tera, a fast and effective template engine in Rust, which means that you can write your own template with tera syntax.

There are files in template folder as follow, which are the template for each page:

  • admin folder
    • panel.html dashboard of admin panel
    • login.html admin login page
  • homepage.html index of whole site
  • archives.html template of single article page

Obviously you can learn how to write this template by the guide of official template folder, and how to use tera syntax in tera's official website.

How to use it

After deploying rubble to your host, the first thing you need to do is login to the admin panel with url http://yourdomain.com/admin. And the default admin user and password is as follow:

  • Username: admin
  • Password: password

after logging in, please modify the default password of admin. Then you can enjoy the whole project system.

Deploy using Docker

you can easily use Docker to create your own rubble application. And the latest version of it and each tagged version would be built as docker images storing in Docker Hub automatically. So you can easily pull those images by using docker pull kilerd/rubble:latest

Rubble uses PostgresQL as data storage, so before strating rubble application, you need to start your postgres service and link it to rubble.

Rubble image can accept some environment variable for setting up:

  • DATABASE_URL url of postgresQL

Docker Stack

But we recommend to deploy rubble with Docker Swarm or Kubenetes. here is a simple file to create a whole rubble application with postgresQLdocker-compose.yml :

version: "3"
services:
  rubble:
    image: kilerd/rubble:latest
    environment:
      DATABASE_URL: postgres://root:password@postgres/rubble
    depends_on:
      - postgres
    networks:
      - backend

  postgres:
    image: postgres:9-alpine
    restart: always
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: password
      POSTGRES_DB: rubble
    networks:
      - backend

networks:
  backend: