Repositorio Público (Git)
Despliega desde cualquier URL Git pública — clona, build, ship.
Apunta Pier a un repositorio Git público (GitHub, GitLab, Bitbucket, Codeberg, Gitea, donde sea) y Pier lo clona, construye vía el Dockerfile en el repo y corre el contenedor resultante. Webhook-friendly para push-to-deploy. La plantilla más simple "tengo un repo, despliégalo" para código open-source.
Desplegar con Pier
- 1 Abre el panel de Pier y haz clic en Add service.
- 2 Elige Public Repository en la lista de plantillas.
- 3 Elige la versión, asigna un nombre al servicio y Pier provisionará automáticamente el contenedor, el almacenamiento y los puertos.
- 4 Vincula un dominio si quieres HTTPS. Traefik genera el certificado de Let's Encrypt automáticamente.
¿Qué es la plantilla Public Repository?
Dale a Pier un Git URL público más el path Dockerfile dentro del repo, y Pier clona el repositorio, construye la imagen, corre el contenedor y lo fronts con Traefik. La integración webhook estándar significa que cada git push al branch monitoreado triggea un fresh build y redeploy.
Úsalo para cualquier repo público con Dockerfile — tus propios proyectos open-source, proyectos third-party que quieres self-host, forks, sitios de documentación que construyen a un contenedor, etc.
Cómo lo despliega Pier
Proveés:
- Una Git URL pública (HTTPS clone URL)
- Un branch (o tag / commit SHA)
- El path al Dockerfile dentro del repo (defaults a
/Dockerfile) - El puerto del contenedor y cualquier env vars
Pier realiza un shallow clone del branch configurado, corre
docker buildx build contra el Dockerfile, almacena la imagen localmente
y arranca un contenedor con tus env / puertos / volúmenes configurados.
Caché de capas BuildKit hace rebuilds incrementales rápidos.
Adjunta un dominio custom en Pier para HTTPS vía Traefik. Genera un webhook URL desde service settings y agrégalo a tu Git host para que pushes futuros auto-desplieguen.
Cuándo NO usar esta plantilla
Para repos privados, usa git-private-key (SSH deploy key) o
git-github-app (GitHub App auth). Para repos sin Dockerfile, usa
Railpack — auto-detecta y construye. Para contenedores inline Dockerfile
one-off sin repo, usa la plantilla Dockerfile. Para imágenes prebuilt ya
en un registry, usa Docker Image.
Características clave
Cualquier host Git público
GitHub, GitLab, Bitbucket, Codeberg, sourcehut, Gitea/Forgejo autohospedado — cualquier cosa con URL HTTPS clonable públicamente funciona.
Build driven por Dockerfile
Pier busca el Dockerfile en el path configurado (default root del repo) y construye con BuildKit. Mismo engine que la plantilla Dockerfile.
Selección de branch + path
Elige el branch y (para monorepos) el path al Dockerfile dentro del repo.
Webhook redeploys
Pier genera un webhook URL; agrégalo como webhook en el Git host y cada push triggea rebuild + rollout.
HTTPS vía Traefik
Adjunta un dominio custom y Pier fronts el contenedor corriendo con Let's Encrypt TLS.
Caché BuildKit
Builds repetidos usan caché de capa de BuildKit; rebuilds incrementales típicos terminan en 10-30 segundos.
Casos de uso
Deploys de proyectos open-source
Despliega cualquier proyecto OSS que encuentres en GitHub con un Dockerfile. Pier maneja el build + host.
Tus propios repos públicos
Repo público (e.g. tu sitio de portfolio, una API personal) — Pier clona, construye, despliega.
Sitios de documentación
Un repo con un sitio de docs Dockerfile-buildable (Astro, Docusaurus, Hugo, mdBook). Pier construye y sirve el resultado.
Demos para compartir rápido
Comparte un Git URL con un colega que quiere probar el proyecto — lo pega en Pier y lo tiene corriendo.
Workflows fork-and-deploy
Fork un proyecto upstream, push tweaks a tu fork, despliega tu fork vía Pier con webhook redeploys.
Ejemplos de código
Service name - my-app
Git URL - https://github.com/user/repo
Branch - main
Dockerfile path - /Dockerfile
Port - 3000
→ Pier clona, construye, despliega Git URL - https://github.com/myorg/monorepo
Branch - main
Dockerfile path - /services/api/Dockerfile
Port - 8000 Pier Service → Settings → Copy webhook URL
GitHub repo → Settings → Webhooks → Add -
URL - https://pier.example.com/webhook/abcd1234
Content type - application/json
Events - Just the push event
→ Cada push a "main" triggea redeploy Branch - v1.4.0 # tags funcionan en el campo branch
→ Pier checks out el tag; sin updates sorpresa Comparativa
| vs Plantilla Dockerfile (pega inline) | Usa Public Repository para código que iterarás (webhook redeploys). Usa Dockerfile (pega) para contenedores one-off sin repo. |
| vs Repos privados (deploy-key / github-app templates) | Usa esas plantillas cuando el repo no es clonable públicamente. Public Repository es el path más simple cuando no necesitas auth. |
| vs Railpack | Railpack también toma un Git URL pero skip el Dockerfile — auto-detecta el lenguaje. Usa Public Repository cuando el repo tiene un Dockerfile que quieres que Pier use; usa Railpack cuando no. |
| vs Docker Image (este catálogo) | Image corre una imagen prebuilt. Public Repository construye desde source. Puntos diferentes en el pipeline. |
Preguntas frecuentes
¿Qué hosts Git funcionan?
¿Cómo despliego commit / tag específico?
¿Qué tan grande puede ser el repo?
¿Build args?
¿Env vars runtime?
¿Múltiples servicios desde un repo?
¿Cómo funciona el webhook?
Servicios relacionados
Desplegar en tu VPS
Apunta Pier a un repositorio Git público (GitHub, GitLab, Bitbucket, Codeberg, Gitea, donde sea) y Pier lo clona, construye vía el Dockerfile en el repo y corre el contenedor resultante. Webhook-friendly para push-to-deploy. La plantilla más simple "tengo un repo, despliégalo" para código open-source.
Desplegar este servicio →