[We're live on Product Hunt. Join the discussion](https://www.producthunt.com/products/tensel?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-tensel)

# Your code runs in Paris. Your data stays in Europe.

Connect a GitHub repo and push. The rest is handled. No DevOps required.

[Create an account](https://app.tensel.eu/signup) [See pricing](https://tensel.eu/pricing)

- Next.js
  Astro
  Nuxt
  Vite
  Express
  Go
  Django
  Rails
  FastAPI
  Docker

Deployment

## From git push to production, in Europe

1. 1
   ### Push
   A push to your branch, or a folder dropped in the browser.
2. 2
   ### Isolated build
   Your code is built in a disposable virtual machine, destroyed after use.
3. 3
   ### Immutable image
   The result is an image pinned by digest: that is what deploys, and it never changes.
4. 4
   ### Progressive rollout
   The new version replaces the old without downtime; the old one stays ready for rollback.
5. 5
   ### Healthy
   Your application answers on its domain, over HTTPS, in Paris. The result reports back as a GitHub Check.

From commit to production

```
$ git push origin main → build  9ae931f  isolated context, Paris→ image  sha256:4c1f…  immutable→ rollout  1/1 replicas  healthy ✓ https://demo.tensel.cloud   42 s
```

Platform

## Everything you need to put your app online

Deploy from GitHub or from a Docker image. The rest is handled: builds, networking, certificates and updates.

### Continuous deployment

Push to your branch and Tensel builds and deploys. Progressive rollout, no downtime. The result reports back as a GitHub Check.

### Isolated environments

One protected production and as many staging environments as you need. Separate branch, configuration, secrets, hostname and logs.

### Encrypted secrets

Environment variables and secrets encrypted at rest, scoped to build or runtime as you choose. Never written to logs.

### Domains and TLS

A Tensel subdomain from the first deployment. Add your own domains; certificates are provisioned and renewed automatically.

### Logs and metrics

Live build and runtime logs. Requests, CPU, memory, restarts and replicas. No agent to install.

### Rollback

Every revision is an immutable image. Go back to the previous one in a click; auto-deploy pauses so it cannot be overwritten.

## The same result, without the plumbing

### A VPS and hand-rolled DevOps

- Provision a server and secure access
- Install runtime, reverse proxy and TLS certificates
- Write and maintain the deployment pipeline
- Wire up logs, metrics and alerts
- Track security patches and updates

### With Tensel

- Connect a GitHub repo and push
- HTTPS and domains provisioned automatically
- Managed build and rollout, one-click rollback
- Logs and metrics included, no agent to install
- Platform patches applied for you

Sovereignty

## Your applications and your data stay in Europe

Tensel is a French company, subject to European Union law. Your applications run in Paris. Data locations and subprocessors are documented.

Legal control

A French company, subject to European Union law.

Data location

Hosted in Paris, backups and logs included. Static sites are served from European points of presence.

Operational control

The platform is administered from the European Union.

Technical control

Identities, keys and secrets managed on our own infrastructure.

Reversibility

Exports in standard formats. No proprietary format.

If you enable auto-deploy, your source code and webhook deliveries also pass through GitHub, a US service. That integration is optional: hosting and platform data stay in Paris.

[See the hosting details](https://tensel.eu/security)

## Every deployment, from commit to live

Full history, live metrics, build and runtime logs, one-click rollback. What you see here is the real interface.

Application

boutique

production

Deployments

Variables

Settings

Building

Live

5d8e3a1

Fix invoice rendering on Safari

Deployed 2 hours ago

boutique.acme.fr

Redeploy

Deploy

History

- Fix invoice rendering on Safari
  Building
  Live
  42 s
  5d8e3a1
  Git push
  2 hours ago
- Add the order tracking page
  Superseded
  48 s
  c47b02e
  Git push
  yesterday
- Include VAT in the cart total
  Superseded
  54 s
  9ae931f
  Git push
  3 days ago

## Configuration and secrets, cleanly separated

Bulk dotenv import, masked values, secrets encrypted at rest and never logged. Build or runtime scope, your choice.

Application

boutique

production

Deployments

Variables

Settings

These variables apply to the production environment only.

Environment variables

Readable variables injected at runtime (never into the build).

LOG_LEVEL

info

Add

Available at build time

Import a .env file

- LOG_LEVEL
  build
  ••••••••
  Delete
- NODE_ENV
  build
  ••••••••
  Delete
- PUBLIC_URL
  build
  ••••••••
  Delete

Secrets

Write-only: a saved value is never shown again, only its name.

API_KEY

secret value

Save

Import a .env file

- API_KEY
  Write-only
  Delete
- DATABASE_URL
  Write-only
  Delete
- STRIPE_KEY
  Write-only
  Delete

## As many environments as you need

Each environment has its branch, configuration, secrets, hostname and logs. Production cannot be deleted by accident.

Application

boutique

production

- production
- staging
- preview-482

Deployments

Variables

Settings

Source

Connected to boutique · branch main

Disconnect

Custom domains

Tensel domain

boutique-production.tensel.cloud

- boutique.acme.fr
  Active

A project deployed from the terminal

```
$ npm install -g @tensel/cli$ tensel loginSigned in as camille@atelier-nord.fr. $ tensel import atelier-nord ./site-vitrineArchive ready: 34 files, 412 KB. Uploading…Imported: site-vitrine (production) — deployment started. ✓ https://site-vitrine.tensel.cloud   41 s
```

## The same platform, on the command line

The Tensel CLI covers everything the dashboard does: deploy a folder or a repository, follow logs live, manage variables, secrets, domains and members.

- “tensel login” opens your browser and authorises the device. No password is ever typed in the terminal.
- “tensel import” packs a local folder and starts the first deployment, with the same rules as drag-and-drop.
- Every command accepts “--json”. Your scripts and CI use a revocable API key, never your session.

## What Tensel does, and what it does not

### Tensel does

- Web apps and static sites, from GitHub or a folder
- Builds without a Dockerfile for known frameworks
- HTTPS, domains, logs, metrics, rollback included
- Hosted and operated in Europe, documented and verifiable

### Tensel does not (yet)

- No managed database, connect your own
- No persistent volumes: stateless applications only
- No background workers or scheduled jobs
- One region: Paris. A choice, not an omission.

## Pricing

One subscription, matched euro for euro in included usage. No commitment, no hidden fees.

| Plan | Price | Included | Members | Domains |
| --- | --- | --- | --- | --- |
| Free | 0 € excl. VAT per month | Unlimited static sites | 1 member | No |
| Personal | 5 € excl. VAT per month 5 € of usage included | 2 environments per application | 1 member | Included |
| Starter | 15 € excl. VAT per month 15 € of usage included | Unlimited environments | 3 members | Included |
| Team | 49 € excl. VAT per month 49 € of usage included | Unlimited environments | Unlimited members | Included |

Prices shown exclude tax. Applicable VAT is added based on your country and status.

[See full pricing](https://tensel.eu/pricing)

## Frequently asked questions

**Where do my applications run?**

In Paris, in a container dedicated to each environment. Platform data (accounts, configuration, logs) lives in the same place.

**What happens if I exceed my included usage?**

The difference appears on the next anniversary invoice at the published unit prices, within the pre-tax spend limit you set, which is 2× your subscription by default. You are warned at 50%, 75%, 90% and 100%. At the limit, new paid actions stop; running applications receive up to 24 hours before suspension.

**Do I need a Dockerfile?**

No. Known frameworks (Next.js, Vite, Astro, Express…) are detected and built automatically. A Dockerfile is used when present, and static sites are served without a container.

**Can I use my own domain name?**

Yes, on every paid plan, TLS certificate included, provisioned and renewed automatically. Each environment also gets a tensel.cloud subdomain from its first deployment.

**Why does my app take a few seconds to respond?**

Applications on the Free plan sleep when nobody is visiting, which is what makes it free. The first request wakes the app in one to three seconds. From the Personal plan up, always-on keeps an instance ready.

**How do I leave?**

Export your configuration and data from the dashboard, in standard formats. Your images are OCI images; there is no proprietary format, and cancellation is monthly.

**Is GitHub required?**

No. You can deploy a folder straight from your browser. GitHub is optional, and its use is disclosed: it is a US service.

**What happens if a deployment fails?**

The live version stays up: a new version only replaces the old one once it is healthy. The build logs show the cause, and you can roll back to any previous revision in one click.

## Deploy your first application

Connect your repo, pick a branch, and Tensel builds and deploys on every push.

[Create an account](https://app.tensel.eu/signup)

---

Source: https://tensel.eu/
Site overview for agents: https://tensel.eu/llms.txt
