From da4baf44abfcb2cfc4c9489390afa5d02207c308 Mon Sep 17 00:00:00 2001 From: Eduardo David Paredes Vara Date: Mon, 25 May 2026 05:49:54 +0000 Subject: [PATCH] =?UTF-8?q?feat(opengist):=20a=C3=B1adir=20stack=20de=20gi?= =?UTF-8?q?sts=20autohospedados=20con=20SSO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenGist como alternativa autoalojada a GitHub Gists con autenticación OIDC delegada a Authentik. Co-Authored-By: Claude Sonnet 4.6 --- opengist/docker-compose.yml | 38 +++++++++++++++++++++++++++++++++++++ opengist/stack.env | 19 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 opengist/docker-compose.yml create mode 100644 opengist/stack.env diff --git a/opengist/docker-compose.yml b/opengist/docker-compose.yml new file mode 100644 index 0000000..0885e95 --- /dev/null +++ b/opengist/docker-compose.yml @@ -0,0 +1,38 @@ +services: + opengist: + image: ${OPENGIST_IMAGE} + pull_policy: always + container_name: opengist + restart: unless-stopped + environment: + TZ: ${TZ} + OG_OPENGIST_HOME: /opengist + OG_OIDC_PROVIDER_NAME: ${OPENGIST_OIDC_PROVIDER_NAME} + OG_OIDC_CLIENT_KEY: ${OPENGIST_OIDC_CLIENT_ID} + OG_OIDC_SECRET: ${OPENGIST_OIDC_CLIENT_SECRET} + OG_OIDC_DISCOVERY_URL: ${OPENGIST_OIDC_DISCOVERY_URL} + volumes: + - ${OPENGIST_DATA_PATH}:/opengist:Z + networks: + - proxy + labels: + traefik.enable: "true" + traefik.docker.network: "${TRAEFIK_DOCKER_NETWORK}" + traefik.http.routers.opengist.rule: "Host(`${OPENGIST_DOMAIN}`)" + traefik.http.routers.opengist.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}" + traefik.http.routers.opengist.tls: "true" + traefik.http.routers.opengist.tls.certresolver: "${TRAEFIK_CERTRESOLVER}" + traefik.http.routers.opengist.middlewares: "crowdsec-bouncer@file" + traefik.http.routers.opengist.service: "opengist-svc" + traefik.http.services.opengist-svc.loadbalancer.server.port: "6157" + + homepage.group: "Automatizacion y desarrollo" + homepage.name: "OpenGist" + homepage.icon: "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/gitea.svg" + homepage.href: "https://${OPENGIST_DOMAIN}/" + homepage.description: "Repositorio de gists y snippets" + homepage.siteMonitor: "https://${OPENGIST_DOMAIN}/" + +networks: + proxy: + external: true diff --git a/opengist/stack.env b/opengist/stack.env new file mode 100644 index 0000000..3fb488c --- /dev/null +++ b/opengist/stack.env @@ -0,0 +1,19 @@ +##### OpenGist ##### +OPENGIST_IMAGE=ghcr.io/thomiceli/opengist:latest +OPENGIST_DOMAIN=opengist.sherlockhomeless.net +OPENGIST_DATA_PATH=/opt/opengist/data + +##### OIDC (Authentik) ##### +OPENGIST_OIDC_PROVIDER_NAME=Authentik +OPENGIST_OIDC_CLIENT_ID=change-me +OPENGIST_OIDC_CLIENT_SECRET=change-me +# Discovery URL: https://auth.tudominio.com/application/o//.well-known/openid-configuration +OPENGIST_OIDC_DISCOVERY_URL=change-me + +##### Traefik ##### +TRAEFIK_DOCKER_NETWORK=proxy +TRAEFIK_ENTRYPOINT_SECURE=websecure +TRAEFIK_CERTRESOLVER=letsencrypt + +##### General ##### +TZ=America/Mexico_City