Add plank and sshwifty. (#858)
This commit is contained in:
parent
18ee2812b9
commit
0c237d1b69
|
@ -98,6 +98,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
||||||
- [Peppermint](https://github.com/Peppermint-Lab/peppermint) - An open source ticket management & help desk solution.
|
- [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.
|
- [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
|
- [Pihole](https://github.com/pi-hole/pi-hole) - A black hole for Internet advertisements
|
||||||
|
- [Planka](https://github.com/plankanban/planka) - Free open source kanban board for workgroups.
|
||||||
- [Plausible](https://github.com/plausible/analytics) - Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
|
- [Plausible](https://github.com/plausible/analytics) - Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.
|
||||||
- [Plex](https://github.com/plexinc/pms-docker) - Stream Movies & TV Shows
|
- [Plex](https://github.com/plexinc/pms-docker) - Stream Movies & TV Shows
|
||||||
- [PodFetch](https://github.com/SamTV12345/PodFetch) - A sleek and efficient podcast downloader.
|
- [PodFetch](https://github.com/SamTV12345/PodFetch) - A sleek and efficient podcast downloader.
|
||||||
|
@ -115,6 +116,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
|
||||||
- [Send](https://gitlab.com/timvisee/send) - Simple, private file sharing
|
- [Send](https://gitlab.com/timvisee/send) - Simple, private file sharing
|
||||||
- [SimpleX SMP](https://github.com/simplex-chat/simplexmq) - A reference implementation of the SimpleX Messaging Protocol for simplex queues over public networks.
|
- [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
|
- [Sonarr](https://github.com/Sonarr/Sonarr) - TV show manager for Usenet and BitTorrent
|
||||||
|
- [Sshwifty](https://github.com/nirui/sshwifty/) - Web SSH & Telnet (WebSSH & WebTelnet client)
|
||||||
- [Syncthing](https://github.com/syncthing/syncthing) - Continuous File Synchronization
|
- [Syncthing](https://github.com/syncthing/syncthing) - Continuous File Synchronization
|
||||||
- [Tailscale](https://github.com/tailscale/tailscale) - The easiest, most secure way to use WireGuard and 2FA
|
- [Tailscale](https://github.com/tailscale/tailscale) - The easiest, most secure way to use WireGuard and 2FA
|
||||||
- [Tautulli](https://github.com/Tautulli/Tautulli) - A Python based monitoring and tracking tool for Plex Media Server
|
- [Tautulli](https://github.com/Tautulli/Tautulli) - A Python based monitoring and tracking tool for Plex Media Server
|
||||||
|
|
24
apps/planka/config.json
Normal file
24
apps/planka/config.json
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"$schema": "../schema.json",
|
||||||
|
"name": "Planka",
|
||||||
|
"port": 8016,
|
||||||
|
"available": true,
|
||||||
|
"exposable": true,
|
||||||
|
"id": "planka",
|
||||||
|
"tipi_version": 1,
|
||||||
|
"version": "1.12.0",
|
||||||
|
"categories": ["development"],
|
||||||
|
"description": "The realtime kanban board for workgroups built with React and Redux.",
|
||||||
|
"short_desc": "Free open source kanban board for workgroups.",
|
||||||
|
"author": "Planka",
|
||||||
|
"source": "https://github.com/plankanban/planka",
|
||||||
|
"website": "https://docs.planka.cloud/",
|
||||||
|
"form_fields": [
|
||||||
|
{
|
||||||
|
"type": "random",
|
||||||
|
"label": "Planka Secret Key",
|
||||||
|
"min": 32,
|
||||||
|
"env_variable": "PLANKA_SECRET_KEY"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
67
apps/planka/docker-compose.yml
Normal file
67
apps/planka/docker-compose.yml
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
planka:
|
||||||
|
image: ghcr.io/plankanban/planka:1.12.0
|
||||||
|
container_name: planka
|
||||||
|
command: >
|
||||||
|
bash -c
|
||||||
|
"for i in `seq 1 30`; do
|
||||||
|
./start.sh &&
|
||||||
|
s=$$? && break || s=$$?;
|
||||||
|
echo \"Tried $$i times. Waiting 5 seconds...\";
|
||||||
|
sleep 5;
|
||||||
|
done; (exit $$s)"
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ${APP_DATA_DIR}/data/user-avatars:/app/public/user-avatars
|
||||||
|
- ${APP_DATA_DIR}/data/project-background-images:/app/public/project-background-images
|
||||||
|
- ${APP_DATA_DIR}/data/attachments:/app/private/attachments
|
||||||
|
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}"
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
||||||
|
labels:
|
||||||
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.planka-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.planka.loadbalancer.server.port: 8016
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.planka-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.planka-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.planka-insecure.service: planka
|
||||||
|
traefik.http.routers.planka-insecure.middlewares: planka-web-redirect
|
||||||
|
# Websecure
|
||||||
|
traefik.http.routers.planka.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.planka.entrypoints: websecure
|
||||||
|
traefik.http.routers.planka.service: planka
|
||||||
|
traefik.http.routers.planka.tls.certresolver: myresolver
|
||||||
|
# Local domain
|
||||||
|
traefik.http.routers.planka-local-insecure.rule: Host(`planka.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.planka-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.planka-local-insecure.service: planka
|
||||||
|
traefik.http.routers.planka-local-insecure.middlewares: planka-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.planka-local.rule: Host(`planka.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.planka-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.planka-local.service: planka
|
||||||
|
traefik.http.routers.planka-local.tls: true
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:14-alpine
|
||||||
|
container_name: planka-db
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: "planka"
|
||||||
|
POSTGRES_HOST_AUTH_METHOD: "trust"
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
30
apps/planka/metadata/description.md
Normal file
30
apps/planka/metadata/description.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Planka
|
||||||
|
#### Elegant open source project tracking
|
||||||
|
|
||||||
|
![](https://raw.githubusercontent.com/plankanban/planka/master/demo.gif)
|
||||||
|
|
||||||
|
[**Client demo**](https://plankanban.github.io/planka) (without server features).
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Create projects, boards, lists, cards, labels and tasks
|
||||||
|
- Add card members, track time, set a due date, add attachments, write comments
|
||||||
|
- Markdown support in a card description and comment
|
||||||
|
- Filter by members and labels
|
||||||
|
- Customize project background
|
||||||
|
- Real-time updates
|
||||||
|
- User notifications
|
||||||
|
- Internationalization
|
||||||
|
|
||||||
|
## Tech stack
|
||||||
|
|
||||||
|
- React, Redux, Redux-Saga, Redux-ORM, Semantic UI React, react-beautiful-dnd
|
||||||
|
- Sails.js, Knex.js
|
||||||
|
- PostgreSQL
|
||||||
|
|
||||||
|
## Username and Password
|
||||||
|
|
||||||
|
After installing login with these credentials:
|
||||||
|
|
||||||
|
- Username: demo@demo.demo
|
||||||
|
- Password: demo
|
BIN
apps/planka/metadata/logo.jpg
Normal file
BIN
apps/planka/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
17
apps/sshwifty/config.json
Normal file
17
apps/sshwifty/config.json
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"$schema": "../schema.json",
|
||||||
|
"name": "Sshwifty",
|
||||||
|
"port": 8273,
|
||||||
|
"available": true,
|
||||||
|
"exposable": true,
|
||||||
|
"id": "sshwifty",
|
||||||
|
"tipi_version": 1,
|
||||||
|
"version": "0.2.35-beta-release",
|
||||||
|
"categories": ["development"],
|
||||||
|
"description": "Sshwifty is a SSH and Telnet connector made for the Web. It can be deployed on your computer or server to provide SSH and Telnet access interface for any compatible (standard) web browser.",
|
||||||
|
"short_desc": "Web SSH & Telnet (WebSSH & WebTelnet client)",
|
||||||
|
"author": "Nirui",
|
||||||
|
"source": "https://github.com/nirui/sshwifty",
|
||||||
|
"website": "https://sshwifty-demo.nirui.org/",
|
||||||
|
"form_fields": []
|
||||||
|
}
|
36
apps/sshwifty/docker-compose.yml
Normal file
36
apps/sshwifty/docker-compose.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
version: "3.5"
|
||||||
|
services:
|
||||||
|
sshwifty:
|
||||||
|
image: niruix/sshwifty:0.2.35-beta-release
|
||||||
|
restart: unless-stopped
|
||||||
|
container_name: sshwifty
|
||||||
|
privileged: true
|
||||||
|
ports:
|
||||||
|
- ${APP_PORT}:8182
|
||||||
|
networks:
|
||||||
|
- tipi_main_network
|
||||||
|
labels:
|
||||||
|
# Main
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.middlewares.sshwifty-web-redirect.redirectscheme.scheme: https
|
||||||
|
traefik.http.services.sshwifty.loadbalancer.server.port: 8273
|
||||||
|
# Web
|
||||||
|
traefik.http.routers.sshwifty-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.sshwifty-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.sshwifty-insecure.service: sshwifty
|
||||||
|
traefik.http.routers.sshwifty-insecure.middlewares: sshwifty-web-redirect
|
||||||
|
# Websecure
|
||||||
|
traefik.http.routers.sshwifty.rule: Host(`${APP_DOMAIN}`)
|
||||||
|
traefik.http.routers.sshwifty.entrypoints: websecure
|
||||||
|
traefik.http.routers.sshwifty.service: sshwifty
|
||||||
|
traefik.http.routers.sshwifty.tls.certresolver: myresolver
|
||||||
|
# Local domain
|
||||||
|
traefik.http.routers.sshwifty-local-insecure.rule: Host(`sshwifty.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.sshwifty-local-insecure.entrypoints: web
|
||||||
|
traefik.http.routers.sshwifty-local-insecure.service: sshwifty
|
||||||
|
traefik.http.routers.sshwifty-local-insecure.middlewares: sshwifty-web-redirect
|
||||||
|
# Local domain secure
|
||||||
|
traefik.http.routers.sshwifty-local.rule: Host(`sshwifty.${LOCAL_DOMAIN}`)
|
||||||
|
traefik.http.routers.sshwifty-local.entrypoints: websecure
|
||||||
|
traefik.http.routers.sshwifty-local.service: sshwifty
|
||||||
|
traefik.http.routers.sshwifty-local.tls: true
|
8
apps/sshwifty/metadata/description.md
Normal file
8
apps/sshwifty/metadata/description.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Sshwifty Web SSH & Telnet Client
|
||||||
|
|
||||||
|
**Sshwifty is a SSH and Telnet connector made for the Web.** It can be deployed
|
||||||
|
on your computer or server to provide SSH and Telnet access interface for any
|
||||||
|
compatible (standard) web browser.
|
||||||
|
|
||||||
|
![Web Interface](https://github.com/nirui/sshwifty/blob/master/Screenshot.png?raw=true)
|
||||||
|
|
BIN
apps/sshwifty/metadata/logo.jpg
Normal file
BIN
apps/sshwifty/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
Loading…
Reference in New Issue
Block a user