React app for storing recipes
https://recipe-app.fredzernia.com
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| backend | ||
| frontend | ||
| .gitignore | ||
| docker-compose.dev.yaml | ||
| docker-compose.yaml | ||
| example.env | ||
| README.md | ||
| shell.nix | ||
This is an app I made to save recipes using the following components:
Frontend:
- React
- TypeScript
Backend:
- NestJS
- PostgreSQL
- Prisma
Containerization:
- Docker
Styling/UI:
- Tailwind CSS
Infra/CI:
This Forgejo instance is hosted on a VPS running NixOS
The Forgejo Runner is hosted in a LXC container running on a local nix server
The runner builds the containers and pushes them to this Forgejo registry
In the frontend container I bundle the compiled src with Caddy to run as a standalone app
The exposed frontend port can then be served via reverse proxy
Try it out:
https://recipe-app.fredzernia.com
Run it yourself:
mkdir recipe_app && cd recipe_app
wget https://forgejo.fredzernia.com/fred/recipe_app/raw/branch/main/docker-compose.yaml
wget https://forgejo.fredzernia.com/fred/recipe_app/raw/branch/main/example.env
mv example.env .env # Change these values if you want
docker compose pull
docker compose up db -d
docker compose run backend npx prisma migrate deploy
docker compose up -d