45 lines
1 KiB
Markdown
45 lines
1 KiB
Markdown
#### 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
|
|
```
|