Skip to content
chaba-devPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Textbin

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Docker Compose

Start Postgres for local development:

make up

PostgreSQL runs in the container but is reached through the Unix socket the container exports into tmp/postgres-socket instead of a published TCP port, so nothing is exposed on the host network. make down stops the container and make psql opens a console against textbin_dev over that socket.

Then run mix setup and mix phx.server locally as usual.

Ready to run in production? Please check our deployment guides.

Design

The product direction, information architecture, and visual system (type, mark, themes) are written up in docs/design.md, alongside the sequencing of the redesign work.

Self-hosting

The production OCI image is runtime-agnostic and includes an explicit migration command plus writable locations for local paste storage and staged uploads. See the self-hosting guide for the image contract, storage configuration, backup boundaries, and upgrade procedure.

Maintainers can find the automated release PR, tagging, release-note, and container publication process in the release guide.

API binary content

API v1 supports explicit organization and workspace discovery plus workspace-scoped paste operations:

GET    /api/v1/organizations
GET    /api/v1/organizations/:id/workspaces
GET    /api/v1/workspaces/:workspace_id/pastes
POST   /api/v1/workspaces/:workspace_id/pastes
GET    /api/v1/workspaces/:workspace_id/pastes/:id
DELETE /api/v1/workspaces/:workspace_id/pastes/:id

All routes require an API bearer token. Workspace paste routes require current workspace membership; discovering an open workspace does not grant paste access. The existing /api/v1/pastes routes remain compatible and target the authenticated user's default personal workspace for the lifetime of API v1. Any future removal will be announced through release notes before a new API version. Paste responses include organization_id and workspace_id on both route families.

API v1 returns UTF-8 textual paste bodies in data. Arbitrary binary bodies use an explicit Base64 representation so JSON remains valid:

{
  "data": null,
  "data_base64": "/wAB",
  "data_encoding": "base64",
  "content_type": "application/octet-stream"
}

The textbin-client 0.2 release reflects this binary-capable contract by exposing Paste.data as bytes instead of a Rust String. This is a deliberate pre-1.0 breaking change; consumers that only accept text should use Paste::text().

Learn more

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages