Recipebox is a Laravel Jetstream-based site using Vue and InertiaJS. It's also built with:
- Docker
- Caddy
- PostgreSQL
- Laravel Scout
- Docker Desktop
- Bun
- If using Windows:
cp provision/caddy/Caddyfile.example provision/caddy/Caddyfile
It is highly likely that .env
will not be present, but rather, .env.example
instead. To fix this, run:
cp .env.example .env
docker-compose up -d
docker-compose exec php composer install
docker-compose exec php php artisan key:generate
bun install
Confirm the recipebox
schema was created during PostgreSQL container creation, otherwise, create the schema.
docker-compose exec php php artisan migrate
If migration fails
docker-compose exec pgsql createdb -U root recipebox
Also, create the testing schema
docker-compose exec pgsql createdb -U root recipebox_test
Configure folder permissions.
sudo chmod -R 777 storage/
See if it works!
bun run dev
You should now be able to view the site at http://recipebox.localhost.
Access mailhog locally at http://localhost:1025
docker-compose down
docker-compose up -d
bun run dev
- It may not be an awful idea to check migration / npm / composer dependencies in case other installs are needed as well.
docker-compose up -d
docker-compose down
Xdebug is available in the PHP container but is turned off by default. To turn it on, set XDEBUG_MODE
(XDEBUG_MODE=develop
as Xdebug's default, other options are documented) in .env
and restart PHP via docker-compose:
docker-compose up -d php
- Label Manager
- Category Manager
- Recipe Manager
- Image uploads
- Paginate Recipe Manager
- User Management
- Customizable intro blurb and logo
- Recent recipes on homepage
- Infinite scroll for recipe lists
- "I made it" counter
- Reviews/ratings
- Roles for access to the recipe manager as a contributor
- Associate images to labels/categories (?)
- Recipe schema markup