Docker

A stable Docker is produced on every release. An unstable one is produced nightly whenever the main branch has new commits.

You can either install the application using Docker or Docker Compose.

Using Docker

You first have to fetch it.

docker pull reaper99/recipya:nightly

Then, run the image. The -e environment variables are described below.

docker run -d \
  --name recipya
  --restart unless-stopped
  -p 8085:8078 \
  -v recipya-data:/root/.config/Recipya \
  -e RECIPYA_SERVER_PORT=8078 \
  reaper99/recipya:nightly

Recipya can be accessed from your host machine at http://localhost:8085.

Updating your container

Run the command below for a quick update with Watchtower.

Remember to replace recipya with your actual container name if it differs and to back up your volume data.

docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once recipya

Synology NAS

The following Docker command should be used if you use Synology.

docker run -d \
  --name recipya
  --restart unless-stopped
  -p 8085:8078 \
  -v /shared/path/here:/root/.config/Recipya/:rw \
  -e RECIPYA_SERVER_PORT=8078 \
  reaper99/recipya:nightly

Using Docker Compose

You can use Docker Compose to run the container. First, download the compose.yaml file. Modify the environment and ports sections. The environment variables are described below. Then, start the application.

docker-compose up -d

Access the app through your browser at http://localhost:[host port].

If you are using Windows and you intend to access the app on other devices within your home network, please ensure to Allow the connection of the Docker Desktop Backend inbound Windows Defender Firewall rule.

Updating your container

Follow these steps to update Recipya. Remember to back up your volume data in case something goes south.

  1. Pull the latest image
docker compose pull
  1. Recreate the container with the latest image
docker compose up -d

Environment Variables

VariableDescription
RECIPYA_DI_ENDPOINTThe Endpoint variable displayed in the Keys and endpoint tab of your Azure AI Document Intelligence resource in the Azure Portal.
Default: "".
RECIPYA_DI_KEYThe KEY 1 variable displayed in the Keys and endpoint tab of your Document Intelligence resource in the Azure Portal.
Default: "".
RECIPYA_EMAILThe email address of your SendGrid account.
Default: "".
RECIPYA_EMAIL_SENDGRIDYour SendGrid API key. The free tier should be sufficient for your needs.
Default: "".
RECIPYA_SERVER_AUTOLOGINWhether to login automatically into the application. Can be true or false.
Default: false.
RECIPYA_SERVER_IS_DEMOWhether the app is a demo version. Can be true or false.
Default: false.
RECIPYA_SERVER_IS_PRODWhether the app is in production. Can be true or false.
Default: false.
RECIPYA_SERVER_NO_SIGNUPSWhether to disable user account registrations. Set to true when you don’t want people to create accounts.
Default: false.
RECIPYA_SERVER_PORTThe port the app will be served through if localhost.
Is required.
RECIPYA_SERVER_URLThe website the app is served on. This URL will serve as the base link in the emails.
Default: http://0.0.0.0.

Back up a Volume

It is of vital importance to back up your volume data before updating the software in case something goes south, and you lose your database.

Docker Desktop

If you use Docker Desktop, then

  1. Select the Volumes tab to the left
  2. Identify the recipya-data volume
  3. Click the Export action button
  4. Select Local file, select the target directory and click Export

Terminal

Otherwise, run to following command:

docker run --rm --volumes-from recipya -v $(pwd):/backup ubuntu tar cvf /backup/recipya-volume-backup.tar /root/.config/Recipya

Restore Volume from Backup

Let’s say you updated the Docker image and as a result lost your data. Thanks to you having an external backup, the day will be saved.

Docker Desktop

Follow these steps to restore your data using Docker desktop:

  1. Select the Volumes tab to the left
  2. Identify the recipya-data volume
  3. Click the Import action button
  4. Select the backed up volume and click Import

Terminal

Otherwise, run the following command:

docker run --rm --volumes-from recipya -v $(pwd):/backup ubuntu bash -c "cd /root && tar xvf /backup/recipya-volume-backup.tar --strip 1"