A blog software. It's meant to be as minimal as possible (thin client), while still maintaining basic readability and styling.
Find a file
2021-04-03 23:30:06 +02:00
content Bumped to 0.3.0. Switched /blog routes to / prefix and moved preevious / route to /about. Changed some env var loading code. 2021-04-03 23:27:58 +02:00
site Bumped to 0.3.0. Switched /blog routes to / prefix and moved preevious / route to /about. Changed some env var loading code. 2021-04-03 23:27:58 +02:00
.gitignore serving social icons from static instead of using the ones from their sites (faster, does not set cookies from <website of icon>) 2020-12-05 22:23:37 +01:00
crablog.env Include a default environment file 2021-02-09 11:51:58 +01:00
docker-compose.yml Bumped to 0.3.0. Switched /blog routes to / prefix and moved preevious / route to /about. Changed some env var loading code. 2021-04-03 23:27:58 +02:00
Dockerfile Change docker file structure and reduce image size drastically 2021-02-09 11:44:44 +01:00
README.md fixed <id> not showing in route description 2021-04-03 23:30:06 +02:00

Crablog

Pure rust. Built with actix, diesel, tera, serde and sqlite3.

Build instructions using docker

  1. Clone the repository
git clone https://github.com/leonardlorenz/crablog
cd crablog/site
  1. Install diesel and create a database
cargo install diesel_cli --no-default-features --features "sqlite"
diesel setup --database-url ../content/db.sqlite3
diesel migration run --database-url ../content/db.sqlite3
  1. Set up your configuration file (see below)
  2. Build and run the docker container (Will compile from source and thus take a while)
docker-compose up -d

Configuration environment file

All configuration options are defined in .env, to be created in the same directory as this readme.

An example configuration:

USERNAME=yourusername
EMAIL=me@mydomain.tld
BIND_PORT=8000
SUBMIT_TOKEN=Submit!123 # token needed for submitting
GITHUB_ACCOUNT=usernam3
TWITTER_ACCOUNT=usernam3
MASTODON_ACCOUNT=usernam3@mastodon.social
REDDIT_ACCOUNT=usernam3
DISCORD_ACCOUNT=usernam3

# only needed when not using a docker container
ROOT_PATH=/path/to/template/directory/and/sqliteDB

Routes

Route Description
/ shows the last 5 posts
/id/<id> shows a single post by id
/all shows all posts
/submit set your submit token and create posts
/edit/<id> edit, delete or hide posts
/about information about this blog, social media accounts

API Routes

  • /api/blog/posts returns all posts as json