From 645819f456107263e7e10c87e8fdec9f0792a665 Mon Sep 17 00:00:00 2001 From: 3wc <3wc@doesthisthing.work> Date: Tue, 17 Aug 2021 00:42:55 +0200 Subject: [PATCH] =?UTF-8?q?Initial=20import=20=F0=9F=90=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.sample | 7 +++++++ README.md | 30 ++++++++++++++++++++++++++++++ compose.yml | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 .env.sample create mode 100644 README.md create mode 100644 compose.yml diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..3d0713f --- /dev/null +++ b/.env.sample @@ -0,0 +1,7 @@ +TYPE=laplace + +DOMAIN=laplace.example.com + +## Domain aliases +#EXTRA_DOMAINS=', `www.laplace.example.com`' +LETS_ENCRYPT_ENV=production diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf33e1f --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# laplace + +Screen sharing directly via browser. + + + +- **Category**: Apps +- **Status**: +- **Image**: [adamyordan/laplace](https://hub.docker.com/r/adamyordan/laplace), βΆπŸ’š, upstream +- **Healthcheck**: No +- **Backups**: No +- **Email**: No +- **Tests**: No +- **SSO**: No + + + +## Basic usage + +1. Set up Docker Swarm and [`abra`] +2. Deploy [`coop-cloud/traefik`] +3. `abra app new ${REPO_NAME} --secrets` (optionally with `--pass` if you'd like + to save secrets in `pass`) +4. `abra app YOURAPPDOMAIN config` - be sure to change `$DOMAIN` to something that resolves to + your Docker swarm box +5. `abra app YOURAPPDOMAIN deploy` +6. Open the configured domain in your browser to finish set-up + +[`abra`]: https://git.coopcloud.tech/coop-cloud/abra +[`coop-cloud/traefik`]: https://git.coopcloud.tech/coop-cloud/traefik diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..e42aac0 --- /dev/null +++ b/compose.yml @@ -0,0 +1,32 @@ +--- +version: "3.8" + +services: + app: + image: adamyordan/laplace + networks: + - proxy + command: [ "./laplace", "-addr", "0.0.0.0:80", "-tls=false" ] + 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}" + # healthcheck: + # test: ["CMD", "curl", "-f", "http://localhost"] + # interval: 30s + # timeout: 10s + # retries: 10 + # start_period: 1m + +networks: + proxy: + external: true