Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tandoor container and documentation #1702

Merged
merged 6 commits into from
Nov 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions compose/.apps/tandoor/tandoor.aarch64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
services:
tandoor:
image: docker.io/vabene1111/recipes:${TANDOOR_TAG}
3 changes: 3 additions & 0 deletions compose/.apps/tandoor/tandoor.hostname.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
services:
tandoor:
hostname: ${DOCKERHOSTNAME}
16 changes: 16 additions & 0 deletions compose/.apps/tandoor/tandoor.labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
services:
tandoor:
labels:
com.dockstarter.appinfo.deprecated: "false"
com.dockstarter.appinfo.description: "The recipe manager that allows you to manage your ever growing collection of digital recipes."
com.dockstarter.appinfo.nicename: "Tandoor"
com.dockstarter.appvars.tandoor_debug: "false"
com.dockstarter.appvars.tandoor_enabled: "false"
com.dockstarter.appvars.tandoor_gunicorn_media: "1"
com.dockstarter.appvars.tandoor_network_mode: ""
com.dockstarter.appvars.tandoor_secret_key: "change_me"
smilerz marked this conversation as resolved.
Show resolved Hide resolved
com.dockstarter.appvars.tandoor_allowed_hosts: "*"
com.dockstarter.appvars.tandoor_database_url: "sqlite://localhost/data/db.sqlite3"
com.dockstarter.appvars.tandoor_port_8080: "8080"
com.dockstarter.appvars.tandoor_restart: "unless-stopped"
com.dockstarter.appvars.tandoor_tag: "latest"
3 changes: 3 additions & 0 deletions compose/.apps/tandoor/tandoor.netmode.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
services:
tandoor:
network_mode: ${TANDOOR_NETWORK_MODE}
4 changes: 4 additions & 0 deletions compose/.apps/tandoor/tandoor.ports.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
services:
tandoor:
ports:
- ${TANDOOR_PORT_8080}:8080
3 changes: 3 additions & 0 deletions compose/.apps/tandoor/tandoor.x86_64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
services:
tandoor:
image: docker.io/vabene1111/recipes:${TANDOOR_TAG}
24 changes: 24 additions & 0 deletions compose/.apps/tandoor/tandoor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
services:
tandoor:
container_name: tandoor
environment:
- ALLOWED_HOSTS=${TANDOOR_ALLOWED_HOSTS}
- DATABASE_URL=${TANDOOR_DATABASE_URL}
- DEBUG=${TANDOOR_DEBUG}
- GUNICORN_MEDIA=${TANDOOR_GUNICORN_MEDIA}
- SECRET_KEY=${TANDOOR_SECRET_KEY}
- TIMEZONE=${TZ}
- TZ=${TZ}

logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE}
max-size: ${DOCKERLOGGING_MAXSIZE}
restart: ${TANDOOR_RESTART}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${DOCKERCONFDIR}/tandoor/staticfiles:/opt/recipes/staticfiles
- ${DOCKERCONFDIR}/tandoor/mediafiles:/opt/recipes/mediafiles
- ${DOCKERCONFDIR}/tandoor/data:/opt/recipes/data
- ${DOCKERSTORAGEDIR}:/storage
46 changes: 46 additions & 0 deletions docs/apps/tandoor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Tandoor

[![Docker Pulls](https://img.shields.io/docker/pulls/vabene1111/recipes?style=flat-square&color=607D8B&label=docker%20pulls&logo=docker)](https://hub.docker.com/r/vabene1111/recipes)
[![GitHub Stars](https://img.shields.io/github/stars/vabene1111/recipes?style=flat-square&color=607D8B&label=github%20stars&logo=github)](https://github.com//vabene1111/recipes)
[![Compose Templates](https://img.shields.io/static/v1?style=flat-square&color=607D8B&label=compose&message=templates)](https://github.com/GhostWriters/DockSTARTer/tree/master/compose/.apps/tandoor)

## Description

[Tandoor](https://docs.tandoor.dev/) is a recipe manager and so much more.
You can import recipes from thousands of websites, generate mealplans, manage your shopping list.
Share and collaborate with your friends and family using a mobile friendly web interface.

## Install/Setup

This application has extensive customization options, most docker env variables are documented in the [.env.template](https://raw.githubusercontent.com/vabene1111/recipes/master/.env.template)
If you run into any issues, enable debug mode to collect logs before opening a ticket.

The application requires a secret key for cryptographic signing. It can be any string, but it is recommend to generate a random string.
On linux you can run `tr -dc A-Za-z0-9 </dev/urandom | head -c 32; echo` to generate a random 32 character string.

### Running with PostgreSQL

It is highly recommended to use this application with a PostgreSQL database.
To setup with postgres, after installing a postgres server (or enabling the DockSTARTer app) create a database and edit .env to use postgres instead of sqlite.
`TANDOOR_DATABASE_URL='postgresql://<postgres_user>:<postgres_password>@<postgres_host>/<tandoor_db>:5432`

Optionally, make tandoor dependent on the postgres container

``` yaml
tandoor:
depends_on:
- postgres_host
```

### Running with SWAG

It is also highly recommended to serve media files with a web server. If you are already using SWAG you can use nginx to accomplish this.
Set GUNICORN_MEDIA to 0 and edit the docker-compose.override.yml similar to below.

``` yaml
swag:
volumes:
- ${DOCKERCONFDIR}/recipes/mediafiles:/media
```

Copy `swag/nginx/proxy-confs/recipes.subdomain.conf.sample` to recipes.subdomain.conf editing as necessary to match your setup and restart swag.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ nav:
- apps/swag.md
- apps/synclounge.md
- apps/syncthing.md
- apps/tandoor.md
- apps/tautulli.md
- apps/tdarr.md
- apps/tdarrnode.md
Expand Down