[PR #914] Add Cut (self-hosted URL shortener) #9396

Open
opened 2026-06-02 06:12:52 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Dokploy/templates/pull/914
Author: @MendyLanda
Created: 5/31/2026
Status: 🔄 Open

Base: canaryHead: add-cut


📝 Commits (1)

  • 41e8112 Add Cut (self-hosted URL shortener) template

📊 Changes

4 files changed (+77 additions, -0 deletions)

View changed files

blueprints/cut/cut.svg (+10 -0)
blueprints/cut/docker-compose.yml (+37 -0)
blueprints/cut/template.toml (+14 -0)
📝 meta.json (+16 -0)

📄 Description

What is this PR about?

New PR of Cut — a small self-hosted URL shortener (owner-only admin behind a single password, with per-link passwords, expiries, and click limits).

The template runs the published image ghcr.io/mendylanda/cut with a private Redis for storage. template.toml generates the domain and a strong ADMIN_PASSWORD, then maps the cut service to port 3000. Redis runs with noeviction since it holds the actual links rather than cache data, so it shouldn't drop keys when memory fills up. Cut reads the request host at runtime, so nothing else needs configuring.

Added blueprints/cut/ (docker-compose.yml, template.toml, cut.svg) plus the meta.json entry, sorted with node dedupe-and-sort-meta.js. Compose follows the requirements: ports: - 3000 (no host mapping), matching cut service name, no container_name, no custom network.

Checklist

  • I have read the suggestions in the README.md file
  • I have tested the template in my instance (see note below)
  • I have added tests (n/a for a template)

Note on testing: I verified the stack directly with Docker Compose — the image builds, the container serves / and /admin (both 200), and a /api/keepalive write lands in Redis. I don't have a separate Dokploy instance on hand, so I'm relying on this PR's automatic preview deploy to exercise the template itself. Happy to import the preview Base64 and confirm end-to-end if you'd like.

None.

Screenshots or Videos

The app running from the same two-container stack (app + redis:7-alpine); the Dokploy preview deploy will show it inside Dokploy.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Dokploy/templates/pull/914 **Author:** [@MendyLanda](https://github.com/MendyLanda) **Created:** 5/31/2026 **Status:** 🔄 Open **Base:** `canary` ← **Head:** `add-cut` --- ### 📝 Commits (1) - [`41e8112`](https://github.com/Dokploy/templates/commit/41e8112fee4a6b277b76c5310936448e5306503a) Add Cut (self-hosted URL shortener) template ### 📊 Changes **4 files changed** (+77 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `blueprints/cut/cut.svg` (+10 -0) ➕ `blueprints/cut/docker-compose.yml` (+37 -0) ➕ `blueprints/cut/template.toml` (+14 -0) 📝 `meta.json` (+16 -0) </details> ### 📄 Description ## What is this PR about? New PR of **Cut** — a small self-hosted URL shortener (owner-only admin behind a single password, with per-link passwords, expiries, and click limits). The template runs the published image `ghcr.io/mendylanda/cut` with a private Redis for storage. `template.toml` generates the domain and a strong `ADMIN_PASSWORD`, then maps the `cut` service to port 3000. Redis runs with `noeviction` since it holds the actual links rather than cache data, so it shouldn't drop keys when memory fills up. Cut reads the request host at runtime, so nothing else needs configuring. Added `blueprints/cut/` (`docker-compose.yml`, `template.toml`, `cut.svg`) plus the `meta.json` entry, sorted with `node dedupe-and-sort-meta.js`. Compose follows the requirements: `ports: - 3000` (no host mapping), matching `cut` service name, no `container_name`, no custom network. ## Checklist - [x] I have read the suggestions in the README.md file - [ ] I have tested the template in my instance (see note below) - [ ] I have added tests (n/a for a template) Note on testing: I verified the stack directly with Docker Compose — the image builds, the container serves `/` and `/admin` (both 200), and a `/api/keepalive` write lands in Redis. I don't have a separate Dokploy instance on hand, so I'm relying on this PR's automatic preview deploy to exercise the template itself. Happy to import the preview Base64 and confirm end-to-end if you'd like. ## Issues related (if applicable) None. ## Screenshots or Videos The app running from the same two-container stack (app + `redis:7-alpine`); the Dokploy preview deploy will show it inside Dokploy. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-06-02 06:12:52 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/templates#9396