From 12c084cbaff6a33410604e36aefb61d6c40d4cd9 Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Wed, 13 Jul 2022 13:50:46 +0200 Subject: [PATCH] init --- .env.sample | 8 +++++++ .gitignore | 1 + README.md | 25 ++++++++++++++++++++++ compose.yml | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 .env.sample create mode 100644 .gitignore create mode 100644 README.md create mode 100644 compose.yml diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..9ea02c2 --- /dev/null +++ b/.env.sample @@ -0,0 +1,8 @@ +TYPE=kanboard + +DOMAIN=kanboard.example.com + +## Domain aliases +#EXTRA_DOMAINS=', `www.kanboard.example.com`' + +LETS_ENCRYPT_ENV=production diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a6353d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.envrc diff --git a/README.md b/README.md new file mode 100644 index 0000000..a703a2f --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# kanboard + +experimental :) +https://docs.kanboard.org/en/latest/admin_guide/docker.html + + + +* **Category**: Apps +* **Status**: 0 +* **Image**: [`kanboard`](https://hub.docker.com/r/kanboard), 4, upstream +* **Healthcheck**: No +* **Backups**: No +* **Email**: No +* **Tests**: No +* **SSO**: No + + + +## Quick start + +* `abra app new kanboard --secrets` +* `abra app config ` +* `abra app deploy ` + +For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech). diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..478fea5 --- /dev/null +++ b/compose.yml @@ -0,0 +1,60 @@ +--- +version: "3.8" + +services: + app: + image: kanboard/kanboard:latest + volumes: + - kanboard_data:/var/www/app/data + - kanboard_plugins:/var/www/app/plugins + - kanboard_ssl:/etc/nginx/ssl + environment: + DATABASE_URL: mysql://kanboard:kanboard-secret@db/kanboard + networks: + - proxy + - internal + deploy: + restart_policy: + condition: on-failure + labels: + - "traefik.enable=true" + - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80" + - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" + - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" + - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" + ## Redirect from EXTRA_DOMAINS to DOMAIN + #- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" + #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true" + #- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}" + - "coop-cloud.${STACK_NAME}.version=" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 30s + timeout: 10s + retries: 10 + start_period: 1m + + db: + image: mariadb:latest + command: --default-authentication-plugin=mysql_native_password + environment: + MYSQL_ROOT_PASSWORD: secret + MYSQL_DATABASE: kanboard + MYSQL_USER: kanboard + MYSQL_PASSWORD: kanboard-secret + networks: + - internal + volumes: + - db:/var/lib/mysql + +networks: + proxy: + external: true + internal: + + +volumes: + kanboard_data: + kanboard_plugins: + kanboard_ssl: + db: