diff --git a/README.md b/README.md index b13e355d..24d642ff 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Mixpost Pro](https://mixpost.app/pricing) - Self-hosted social media management. Schedule and organize your social content. - [MongoDB](https://github.com/mongodb/mongo)- MongoDB is an open-source NoSQL database - [Mongo Express](https://github.com/mongo-express/mongo-express) - A web-based MongoDB admin interface written with Node.js, Express, and Bootstrap3 -- [Movary](https://github.com/leepeuker/movary ) - Track and rate your watched movies +- [Movary](https://github.com/leepeuker/movary) - Track and rate your watched movies - [mStream](https://github.com/IrosTheBeggar/mStream) - The easiest music streaming server available - [Mylar3](https://github.com/mylar3/mylar3) - Mylar3 is an automated Comic Book downloader (cbr/cbz) for use with NZB and torrents written in python. - [n8n](https://github.com/n8n-io/n8n) - Workflow Automation Tool @@ -121,6 +121,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Owncloud](https://github.com/owncloud/core) - A personal cloud which runs on your own server. - [PairDrop](https://github.com/schlagmichdoch/PairDrop) - Local file sharing in your browser. Inspired by Apple's AirDrop. - [Paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) - Document Management System (DMS) +- [Penpot](https://github.com/penpot/penpot) - The Open-Source design & prototyping platform. - [Peppermint](https://github.com/Peppermint-Lab/peppermint) - An open source ticket management & help desk solution. - [Photoprism](https://github.com/photoprism/photoprism) - AI-Powered Photos App for the Decentralized Web. We are on a mission to protect your freedom and privacy. - [Pihole](https://github.com/pi-hole/pi-hole) - A black hole for Internet advertisements @@ -141,7 +142,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Sabnzbd](https://github.com/sabnzbd/sabnzbd) - Sabnzbd makes Usenet as simple and streamlined as possible by automating everything we can" - [SearXNG](https://github.com/searxng/searxng) - SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled - [Send](https://gitlab.com/timvisee/send) - Simple, private file sharing -- [Serge](https://github.com/serge-chat/serge) - A web interface for chatting with Alpaca through llama.cpp. +- [Serge](https://github.com/serge-chat/serge) - A web interface for chatting with Alpaca through llama.cpp. - [Shlink](https://shlink.io/) - API first URL shortener - [SimpleX SMP](https://github.com/simplex-chat/simplexmq) - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks. - [Sonarr](https://github.com/Sonarr/Sonarr) - TV show manager for Usenet and BitTorrent diff --git a/apps/penpot/config.json b/apps/penpot/config.json new file mode 100644 index 00000000..b52d97a1 --- /dev/null +++ b/apps/penpot/config.json @@ -0,0 +1,24 @@ +{ + "name": "Penpot", + "available": true, + "port": 8645, + "exposable": true, + "id": "penpot", + "description": "Penpot - The Open-Source design & prototyping platform.", + "tipi_version": 1, + "version": "latest", + "categories": ["utilities"], + "short_desc": "Open-Source design & prototyping platform.", + "author": "penpot", + "source": "https://github.com/penpot/penpot", + "website": "https://penpot.app", + "supported_architectures": ["arm64", "amd64"], + "form_fields": [ + { + "type": "random", + "label": "Penpot postgres password.", + "min": 32, + "env_variable": "PENPOT_POSTGRES_PASSWORD" + } + ] +} diff --git a/apps/penpot/docker-compose.yml b/apps/penpot/docker-compose.yml new file mode 100644 index 00000000..79138913 --- /dev/null +++ b/apps/penpot/docker-compose.yml @@ -0,0 +1,100 @@ +version: "3.9" +services: + penpot: + image: penpotapp/frontend:latest + container_name: penpot + restart: unless-stopped + ports: + - ${APP_PORT}:80 + volumes: + - ${APP_DATA_DIR}/data/assets:/opt/data/assets + depends_on: + - penpot-backend + - penpot-exporter + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.penpot-web-redirect.redirectscheme.scheme: https + traefik.http.services.penpot.loadbalancer.server.port: + 80 + # Web + traefik.http.routers.penpot-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.penpot-insecure.entrypoints: web + traefik.http.routers.penpot-insecure.service: penpot + traefik.http.routers.penpot-insecure.middlewares: + penpot-web-redirect + # Websecure + traefik.http.routers.penpot.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.penpot.entrypoints: websecure + traefik.http.routers.penpot.service: penpot + traefik.http.routers.penpot.tls.certresolver: + myresolver + # Local domain + traefik.http.routers.penpot-local-insecure.rule: Host(`penpot.${LOCAL_DOMAIN}`) + traefik.http.routers.penpot-local-insecure.entrypoints: web + traefik.http.routers.penpot-local-insecure.service: penpot + traefik.http.routers.penpot-local-insecure.middlewares: + penpot-web-redirect + # Local domain secure + traefik.http.routers.penpot-local.rule: Host(`penpot.${LOCAL_DOMAIN}`) + traefik.http.routers.penpot-local.entrypoints: websecure + traefik.http.routers.penpot-local.service: penpot + traefik.http.routers.penpot-local.tls: true + environment: + - PENPOT_FLAGS=enable-registration enable-login-with-password + + penpot-backend: + image: penpotapp/backend:latest + container_name: penpot-backend + restart: unless-stopped + volumes: + - ${APP_DATA_DIR}/data/assets:/opt/data/assets + depends_on: + - penpot-postgres + - penpot-redis + networks: + - tipi_main_network + environment: + - PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification + - PENPOT_PUBLIC_URI=${APP_PROTOCOL:-http}://${APP_DOMAIN}:${APP_PORT} + - PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot + - PENPOT_DATABASE_USERNAME=tipi + - PENPOT_DATABASE_PASSWORD=${PENPOT_POSTGRES_PASSWORD} + - PENPOT_REDIS_URI=redis://penpot-redis/0 + - PENPOT_ASSETS_STORAGE_BACKEND=assets-fs + - PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets + - PENPOT_TELEMETRY_ENABLED=false + + penpot-exporter: + image: penpotapp/exporter:latest + container_name: penpot-exporter + restart: unless-stopped + networks: + - tipi_main_network + environment: + - PENPOT_PUBLIC_URI=http://penpot + - PENPOT_REDIS_URI=redis://penpot-redis/0 + + penpot-postgres: + image: postgres:14 + restart: unless-stopped + container_name: penpot-postgres + stop_signal: SIGINT + volumes: + - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data + networks: + - tipi_main_network + environment: + - POSTGRES_INITDB_ARGS=--data-checksums + - POSTGRES_DB=penpot + - POSTGRES_USER=tipi + - POSTGRES_PASSWORD=${PENPOT_POSTGRES_PASSWORD} + + penpot-redis: + image: redis:7 + container_name: penpot-redis + restart: unless-stopped + networks: + - tipi_main_network diff --git a/apps/penpot/metadata/description.md b/apps/penpot/metadata/description.md new file mode 100644 index 00000000..83a528d2 --- /dev/null +++ b/apps/penpot/metadata/description.md @@ -0,0 +1,30 @@ +
+ +
diff --git a/apps/penpot/metadata/logo.jpg b/apps/penpot/metadata/logo.jpg new file mode 100644 index 00000000..5b0aaab5 Binary files /dev/null and b/apps/penpot/metadata/logo.jpg differ