Driftluo Myblog Save

Personal blog written in Rust, using salvo and sqlx

Project README

About

This is my personal blog.

Architecture

img

Status

  • The third-party login function of Github is in disrepair for a long time, and the api seems to be deprecated, and there is no time to rewrite it for the time being
  • js uses a very old technology (I'm not familiar with the front-end technology)

Dependences

  • Redis
  • Postgresql

Getting Started

Rust

$ curl https://sh.rustup.rs -sSf | sh

Sqlx Cli

This project use sqlx as Orm framework, so you need to install its command line tool via Rust package manager(eg, Cargo)

$ cargo install sqlx-cli

Postgresql

Use docker images

Install from docker-hub

$ docker pull postgres
$ docker run --name your_container_name -e POSTGRES_PASSWORD=system -d -p 5432:5432 postgres

If you want to enter psql interactive command line

$ docker run -it --rm --link your_container_name:postgres postgres psql -h postgres -U postgres

init database

$ sqlx database create
$ sqlx migrate run

Redis

Use docker images

$ docker pull redis
$ docker run --name redis -p 6379:6379 -d redis

Nginx

nginx is only used when deploying production

config:
server {
        listen       80;
        server_name  127.0.0.1;

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location /api/v1 {
            proxy_pass http://127.0.0.1:8080;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

blog

$ cargo run --release // listen on 127.0.0.1:8080

if you want to login admin, the account is admin, password is admin

Open Source Agenda is not affiliated with "Driftluo Myblog" Project. README Source: driftluo/myblog
Stars
113
Open Issues
2
Last Commit
1 year ago
Repository
License
MIT
Tags

Open Source Agenda Badge

Open Source Agenda Rating