Skip to content

Simple recipes management system on Symfony and SQLite

License

Notifications You must be signed in to change notification settings

nanawel/reciphpes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

reciphpes!

Author: Anaël Ollier [email protected]

Screenshots

Installation

Notice: Currently the application cannot be accessed from a URL using a custom base path:

☑️ WILL WORK: http://reciphpes.myhost.org/
❌ 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.

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):

version: '3.2'

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

cd /opt/reciphpes
docker-compose up -d

Then init the database (first time only):

docker-compose exec -u www-data app make install

(Optional) You might want to generate a new secret value:

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

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).

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 7.1+
  • Composer
  • NodeJS 14+
  • yarn
make install

# Start assets builder watch task
yarn run encore dev --watch

Licence

See LICENSE.