OctBlog is almost the same with MayBlog except that it is powered by Flask and MongoDB rather than Django and SQL Databases.
And as my customary, I named it OctBlog as OctBlog was started in October, 2015
OctBlog offers every function in MayBlog, and aims to do it better, its features are as follow:
- multiple user
- roles: su, admin, editor, writer, reader
- posts, pages, tags, and categories
- markdown support
- admin interface
- change configurations by configuration file or environment variable
- multiple comment plugin
- RESTful API(not yet)
- Deploy with docker
Gevin's blog is powered by OctBlog
- Flask
- flask-script
- flask-login
- flask-admin
- Flask-WTF
- flask-principal
- flask_mongoengine
- WTForms
- mongoengine
- markdown2
- bleach
- jQuery
- BootStrap
- Clean Blog theme
- bootbox.js
- bootstrap-markdown.js
- bootstrap-datetimepicker.js
- Font Awesome
- highlight.js
If you want to see more about the source code, checkout the source code readme
Run OctBlog by docker is recommended, here are some instruction:
1. Get your OctBlog image
In command line, switch to OctBlog root directory, and run the following command to build your own OctBlog image:
cd app
(sudo) docker build gevin/octblog:0.1 .
# Now you can take a cup of coffee and wait for a few minutes :)
Alternatively, pull Octblog image from DockerHub(recommended):
(sudo) docker pull gevin/octblog:0.1
2. Run OctBlog
(sudo) docker-compose up -d
Then you can visit OctBlog in your brower at http://localhost:8000
3. Get into OctBlog container
Maybe you would like to dig into the container, the following command will help:
# Specify OctBlog container ID, eg:12345678
(sudo) docker ps
# Get into OctBlog container
(sudo) docker exec -it 12345678 bash
- Start OctBlog
(sudo) docker-compose start
- Stop OctBlog
(sudo) docker-compose stop
Visit the following url and create a superuser
http://localhost:8000/accounts/registration/su
If the url is forbidden, you need to modify your configurations to allow the creation.
The admin home is: http://localhost:8000/admin
You will be redirected to login page if you haven't logged in
You either change settings in app/OctBlog/config.py
file, or set environment variables defined in that file.
Setting environment variables is recommended, and once the configuration is changed, you need to restart the service.
OctBlog is under GPL2