diff --git a/apps/planka/docker-compose.yml b/apps/planka/docker-compose.yml index 51b60b8e..52cbb8df 100644 --- a/apps/planka/docker-compose.yml +++ b/apps/planka/docker-compose.yml @@ -20,10 +20,10 @@ services: ports: - ${APP_PORT}:1337 environment: - BASE_URL: ${APP_PROTOCOL:-http}://${APP_DOMAIN} - TRUST_PROXY: 1 - DATABASE_URL: "postgresql://postgres@postgres/planka" - SECRET_KEY: "${PLANKA_SECRET_KEY}" + - BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN} + - TRUST_PROXY=1 + - DATABASE_URL="postgresql://postgres@postgres/planka" + - SECRET_KEY="${PLANKA_SECRET_KEY}" networks: - tipi_main_network labels: diff --git a/apps/tandoor/config.json b/apps/tandoor/config.json new file mode 100644 index 00000000..37044367 --- /dev/null +++ b/apps/tandoor/config.json @@ -0,0 +1,30 @@ +{ + "$schema": "../schema.json", + "name": "Tandoor", + "port": 8341, + "available": true, + "exposable": true, + "id": "tandoor", + "tipi_version": 1, + "version": "1.5.4", + "categories": ["data"], + "description": "Drop your collection of links and notes. Get Tandoor and never look back onto a time without recipe management, storage, sharing and collaborative cooking!", + "short_desc": "Manage your ever growing recipe collection online.", + "author": "Tandoor Recipes", + "source": "https://github.com/TandoorRecipes/recipes", + "website": "https://tandoor.dev/", + "form_fields": [ + { + "type": "random", + "label": "Tandoor Secret Key", + "min": 32, + "env_variable": "TANDOOR_SECRET_KEY" + }, + { + "type": "random", + "label": "Postgress Password", + "min": 32, + "env_variable": "TANDOOR_POSTGRESS_PASSWORD" + } + ] +} diff --git a/apps/tandoor/docker-compose.yml b/apps/tandoor/docker-compose.yml new file mode 100644 index 00000000..dd8f3931 --- /dev/null +++ b/apps/tandoor/docker-compose.yml @@ -0,0 +1,45 @@ +version: "3.7" +services: + recipes: + container_name: tandoor + image: ghcr.io/tandoorrecipes/recipes:1.5.4 + volumes: + - ${APP_DATA_DIR}/staticfiles:/opt/recipes/staticfiles + - ${APP_DATA_DIR}/mediafiles:/opt/recipes/mediafiles + ports: + - ${APP_PORT}:8080 + environment: + - SECRET_KEY=${TANDOOR_SECRET_KEY} + - DB_ENGINE=django.db.backends.postgresql + - POSTGRES_HOST=db_recipes + - POSTGRES_PORT=5432 + - POSTGRES_USER=djangodb + - POSTGRES_PASSWORD=${TANDOOR_POSTGRESS_PASSWORD} + - POSTGRES_DB=djangodb + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.tandoor-web-redirect.redirectscheme.scheme: https + traefik.http.services.tandoor.loadbalancer.server.port: 8341 + # Web + traefik.http.routers.tandoor-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.tandoor-insecure.entrypoints: web + traefik.http.routers.tandoor-insecure.service: tandoor + traefik.http.routers.tandoor-insecure.middlewares: tandoor-web-redirect + # Websecure + traefik.http.routers.tandoor.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.tandoor.entrypoints: websecure + traefik.http.routers.tandoor.service: tandoor + traefik.http.routers.tandoor.tls.certresolver: myresolver + # Local domain + traefik.http.routers.tandoor-local-insecure.rule: Host(`tandoor.${LOCAL_DOMAIN}`) + traefik.http.routers.tandoor-local-insecure.entrypoints: web + traefik.http.routers.tandoor-local-insecure.service: tandoor + traefik.http.routers.tandoor-local-insecure.middlewares: tandoor-web-redirect + # Local domain secure + traefik.http.routers.tandoor-local.rule: Host(`tandoor.${LOCAL_DOMAIN}`) + traefik.http.routers.tandoor-local.entrypoints: websecure + traefik.http.routers.tandoor-local.service: tandoor + traefik.http.routers.tandoor-local.tls: true diff --git a/apps/tandoor/metadata/description.md b/apps/tandoor/metadata/description.md new file mode 100644 index 00000000..49a2ae66 --- /dev/null +++ b/apps/tandoor/metadata/description.md @@ -0,0 +1,36 @@ +# Tandoor Recipes + +The recipe manager that allows you to manage your ever growing collection of digital recipes. + +## Core Features +- πŸ₯— **Manage your recipes** - Manage your ever growing recipe collection +- πŸ“† **Plan** - multiple meals for each day +- πŸ›’ **Shopping lists** - via the meal plan or straight from recipes +- πŸ“š **Cookbooks** - collect recipes into books +- πŸ‘ͺ **Share and collaborate** on recipes with friends and family + +## Made by and for power users + +- πŸ” Powerful & customizable **search** with fulltext support and [TrigramSimilarity](https://docs.djangoproject.com/en/3.0/ref/contrib/postgres/search/#trigram-similarity) +- 🏷️ Create and search for **tags**, assign them in batch to all files matching certain filters +- ↔️ Quickly merge and rename ingredients, tags and units +- πŸ“₯️ **Import recipes** from thousands of websites supporting [ld+json or microdata](https://schema.org/Recipe) +- βž— Support for **fractions** or decimals +- 🐳 Easy setup with **Docker** and included examples for **Kubernetes**, **Unraid** and **Synology** +- 🎨 Customize your interface with **themes** +- πŸ“¦ **Sync** files with Dropbox and Nextcloud + +## All the must haves + +- πŸ“±Optimized for use on **mobile** devices +- 🌍 localized in many languages thanks to the awesome community +- πŸ“₯️ **Import your collection** from many other [recipe managers](https://docs.tandoor.dev/features/import_export/) +- βž• Many more like recipe scaling, image compression, printing views and supermarkets + +This application is meant for people with a collection of recipes they want to share with family and friends or simply +store them in a nicely organized way. A basic permission system exists but this application is not meant to be run as +a public page. + +## Docs + +Documentation can be found [here](https://docs.tandoor.dev/). \ No newline at end of file diff --git a/apps/tandoor/metadata/logo.jpg b/apps/tandoor/metadata/logo.jpg new file mode 100644 index 00000000..bc5f5afc Binary files /dev/null and b/apps/tandoor/metadata/logo.jpg differ