Skip to content

driftluo/myblog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f7f48d3 · Dec 28, 2024
Apr 16, 2021
Dec 11, 2017
Apr 16, 2021
Oct 14, 2022
Aug 30, 2021
Dec 28, 2024
May 9, 2021
Apr 29, 2018
Oct 14, 2022
Oct 14, 2022
Nov 14, 2017
Apr 17, 2021
Aug 30, 2021

Repository files navigation

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

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

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

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

Use docker images

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

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