https://github.com/nanawel/reciphpes
Simple recipes management system on Symfony and SQLite
https://github.com/nanawel/reciphpes
ingredients recipes-app sqlite symfony
Last synced: 5 months ago
JSON representation
Simple recipes management system on Symfony and SQLite
- Host: GitHub
- URL: https://github.com/nanawel/reciphpes
- Owner: nanawel
- License: mit
- Created: 2020-06-13T11:13:03.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-06-08T17:15:28.000Z (about 1 year ago)
- Last Synced: 2025-06-08T18:25:07.841Z (about 1 year ago)
- Topics: ingredients, recipes-app, sqlite, symfony
- Language: PHP
- Homepage:
- Size: 2.3 MB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

reciphpes!
==
> Author: Anaël Ollier
## Screenshots
- [Recipes list](docs/screenshots/recipe-grid.png)
- [Recipe page](docs/screenshots/recipe-show.png)
- [Recipe form](docs/screenshots/recipe-form.png)
- [Recipe mass create form](docs/screenshots/recipe-masscreate.png)
- [Search results](docs/screenshots/search-results.png)
## Installation
> **Notice:** Currently the application **cannot be accessed** from a URL using
> a custom base path:
>
> :ballot_box_with_check: WILL WORK: http://reciphpes.myhost.org/
> :x: WILL NOT WORK: http://something.myhost.org/reciphpes
### Docker
> See prebuilt image available on Docker Hub: https://hub.docker.com/r/nanawel/reciphpes
```
docker pull nanawel/reciphpes
```
Create a dedicated folder (here `/opt/reciphpes`) to hold `docker-compose.yml`
and the data directory and give the latter required permissions for `www-data`
in the container.
```shell
mkdir -p /opt/reciphpes/data/db /opt/reciphpes/data/log
chgrp -R 33 /opt/reciphpes/data/*
chmod -R g+w /opt/reciphpes/data/*
```
Example of `docker-compose.yml` (here listening on port `8000`):
```yml
services:
app:
image: nanawel/reciphpes
container_name: reciphpes
restart: always
ports:
- '8000:80'
volumes:
- './data/db:/var/www/webapp/var/db:rw'
- './data/log:/var/www/webapp/var/log:rw'
#environment:
#APP_DEFAULT_LOCALE: en # default is "fr" for historical reasons
#APP_SET_LOCALE_FROM_ACCEPT_LANGUAGE: false # default is true
#APP_SET_CONTENT_LANGUAGE_FROM_LOCALE: false # default is true
```
Start the container with
```shell
cd /opt/reciphpes
docker-compose up -d
```
Then init the database (first time only):
```shell
docker-compose exec -u www-data app make install
```
*(Optional)* You might want to generate a new secret value:
```shell
docker-compose exec app make new-secret
```
You may now access the application at http://localhost:8000/.
See next section when upgrading.
### Upgrade
```
docker-compose pull
gzip -c data/db/app.db > data/db/app.$(date +%F_%H-%M-%S).sqlite.gz
docker-compose up -d
docker-compose exec -u www-data app bin/console doctrine:migrations:migrate -n
docker-compose exec app make new-secret # (optional)
```
### Build from source
```shell
git clone https://github.com/nanawel/reciphpes.git /opt/reciphpes-src
cd /opt/reciphpes-src
make build
```
## Developer Notes
### Docker setup (recommended)
Copy `.env` to `.env.local` and adjust values to your environment.
You might particularly want to change `WEBAPP_UID` to your own UID
(to prevent permission issues with your files and the ones created
by Apache in the container).
```shell
make dev-build
make dev-startd HTTP_PORT=8080 # Choose any free port
```
You may now enter the container with `make shell` and issue the
commands provided in the section below.
### Local setup
> **Requirements**
> - Apache 2 with PHP 8.2+
> - Composer
> - NodeJS 18+
> - yarn
```shell
make install
# Start assets builder watch task
yarn run encore dev --watch
```
# Licence
See [LICENSE](LICENSE).