From 2abfc520f1d7a71909dcfc83de273908756dd462 Mon Sep 17 00:00:00 2001 From: Ronald Loyko <108372764+ronaldloyko@users.noreply.github.com> Date: Sat, 8 Oct 2022 03:31:13 +0300 Subject: [PATCH] feat: add planka (#752) --- public/v4/apps/planka.yml | 94 +++++++++++++++++++++++++++++++++++++ public/v4/logos/planka.png | Bin 0 -> 8569 bytes 2 files changed, 94 insertions(+) create mode 100644 public/v4/apps/planka.yml create mode 100644 public/v4/logos/planka.png diff --git a/public/v4/apps/planka.yml b/public/v4/apps/planka.yml new file mode 100644 index 0000000..69926f4 --- /dev/null +++ b/public/v4/apps/planka.yml @@ -0,0 +1,94 @@ +captainVersion: 4 +services: + $$cap_appname: + caproverExtra: + containerHttpPort: $$cap_PLANKA_PORT + dockerfileLines: + - FROM ghcr.io/plankanban/planka:$$cap_PLANKA_VERSION + - CMD ["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)"] + environment: + BASE_URL: http://$$cap_appname.$$cap_root_domain + TRUST_PROXY: $$cap_PLANKA_TRUST_PROXY + DATABASE_URL: postgresql://$$cap_POSTGRES_USER:$$cap_POSTGRES_PASSWORD@srv-captain--$$cap_appname-db/$$cap_POSTGRES_DB + SECRET_KEY: $$cap_PLANKA_SECRET_KEY + hostname: $$cap_appname.$$cap_root_domain + depends_on: + - $$cap_appname-db + volumes: + - $$cap_appname-user-avatars:/app/public/user-avatars + - $$cap_appname-project-background-images:/app/public/project-background-images + - $$cap_appname-attachments:/app/private/attachments + $$cap_appname-db: + caproverExtra: + notExposeAsWebApp: 'true' + image: postgres:$$cap_POSTGRES_VERSION + volumes: + - $$cap_appname-db:/var/lib/postgresql/data + environment: + POSTGRES_USER: $$cap_POSTGRES_USER + POSTGRES_PASSWORD: $$cap_POSTGRES_PASSWORD + POSTGRES_DB: $$cap_POSTGRES_DB + POSTGRES_HOST_AUTH_METHOD: $$cap_POSTGRES_HOST_AUTH_METHOD +caproverOneClickApp: + instructions: + start: |- + Planka is a Trello-like kanban board built with React and Redux. + end: |- + Planka has been successfully deployed! It might take few moments before it's fully started. + You can access it at `http://$$cap_appname.$$cap_root_domain` with user `demo@demo.demo` and password `demo`. + + Please do the following steps: + 1. Activate **WebSocket Support** + 2. If you enabled HTTPS, you should adjust the `BASE_URL` environment variable accordingly + + Enjoy your self-hosted Trello alternative! + displayName: Planka + isOfficial: true + description: Realtime Kanban Board for Workgroups + documentation: https://github.com/plankanban/planka#deploy + variables: + - id: $$cap_PLANKA_VERSION + label: General | Planka Version + description: Check out their valid tags at https://github.com/orgs/plankanban/packages/container/package/planka + defaultValue: '1.8.4' + validRegex: /.{1,}/ + - id: $$cap_POSTGRES_VERSION + label: General | PostgreSQL Version + description: Check out their valid tags at https://hub.docker.com/r/btcpayserver/postgres/tags + defaultValue: '13.7' + validRegex: /.{1,}/ + - id: $$cap_PLANKA_PORT + label: Application | Port + description: Port of the Planka host. + defaultValue: 1337 + validRegex: /.{1,}/ + - id: $$cap_PLANKA_TRUST_PROXY + label: Application | Trust Proxy + description: Whether to trust proxy in Planka. + defaultValue: 'false' + validRegex: /.{1,}/ + - id: $$cap_PLANKA_SECRET_KEY + label: Application | Secret Key + description: Secret key for data encryption. + defaultValue: $$cap_gen_random_hex(32) + validRegex: /.{1,}/ + - id: $$cap_POSTGRES_USER + label: Database | User Name + description: User name of the PostgreSQL database. + defaultValue: planka + validRegex: /.{1,}/ + - id: $$cap_POSTGRES_PASSWORD + label: Database | User Password + description: User password of the PostgreSQL database. + defaultValue: $$cap_gen_random_hex(16) + validRegex: /.{1,}/ + - id: $$cap_POSTGRES_DB + label: Database | Name + description: Name of the PostgreSQL database. + defaultValue: planka + validRegex: /.{1,}/ + - id: $$cap_POSTGRES_HOST_AUTH_METHOD + label: Database | Host Authentication Method + description: Method of the PostgreSQL host authentication. + defaultValue: trust + validRegex: /.{1,}/ diff --git a/public/v4/logos/planka.png b/public/v4/logos/planka.png new file mode 100644 index 0000000000000000000000000000000000000000..6a01ea78abe6e03771c53da2709ce451ec00c3ad GIT binary patch literal 8569 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≫Xh76FWmBrTEW#Q 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 E4}|_p