Laraview is a simple Laravel blog supporting multiple users, posts, and comments. Laraview draws its inspiration from Medium and Gatsby, using simplistic design - allowing you to quickly deploy a self-hosted blog in just a few simple steps.
Laraview is intended to remain lean. Currently, there is no support for photo storage (all files must be linked externally) and there is a single dependency aside from Laravel.
Laraview is deployed via Docker and can be proxied through Traefik (which is included, you can reconfigure Laraview to work without Traefik). It runs on basic MySQL, PHP and Nginx containers. The first user registered will become the admin user of the blog (see
You must manually add a first user and manually configure a single
settings entry in the
Change to the traefik directory and run
docker-compose up -d in either the
ssl directory. Configure the
traefik.toml file in the
ssl directory if using Traefik to create SSL certs.
init-db.env.example file and save it as
init-db.env. This will initialize the MySQL database with the information provided on the first build. These items will need to match what's in the
.env variables. Use the
.env.example template file for the basic setup. These are found in the laravel folder. NOTE: The DB host must be the DB Docker container name.
- Install project dependencies. Navigate to the directory of the project and run:
php composer.phar install OR composer install
- Generate a Laravel key:
php artisan key:generate
- Start up docker containers:
docker-compose up -d
- Migrate and create the database (do so inside the Docker container):
php artisan migrate
Currently, the only admin user is whatever user has
user->id = 1. All other users will become normal users, able to comment but not create posts etc. Additional admin permissions coming later.
For an exhaustive list of dependencies, see the composer.json file.
- Parsedown - A simple markdown parser.