Documentation

Pixla Hosting

The complete Pixla Hosting guide. The same content lives inside the app under Help ▸ Pixla Hosting User Guide, and applies to the web dashboard too.

Getting Started

What is Pixla Hosting?

Hosting with analytics, forms and a store built in.

Pixla Hosting puts your site online and runs it. A static site — HTML, CSS and JavaScript, like a Pixla Sites export — is served from edge locations worldwide. A Vapor app — server-side Swift — runs on its own server, with its own Postgres database if you want one.

What’s built in

  • Analytics — page views, visitors, top pages and referrers. No cookies and no third-party trackers.
  • Forms — submissions from your site’s forms collect in an inbox, with spam kept separately.
  • Store — products, card payments through Stripe, orders and refunds.
  • Custom domains — your own domain, with HTTPS set up and renewed for you.

Pixla Hosting runs on your Mac, iPhone and iPad, and everything here is also in the web dashboard at hosting.pixla.app — so you can manage your sites from any browser too.

See also: Connecting the App · Static Sites · Vapor Apps · Web Dashboard

Connecting the App

Sign in with your Pixla account.

Accounts and passwords live on pixla.app, not in the app. Choose Connect to Pixla: a window opens on pixla.app, you sign in as usual and approve this device, and the app is handed a key of its own.

The key is named after the device — “Pixla Hosting on Shawn’s iPhone” — and appears under API keys on pixla.app. If a device is lost, revoke just that key; everything else keeps working.

Using a key you already have

Use an API key instead takes a key you made on pixla.app — handy for a CI machine, or a second Mac you set up from a password manager.

Either way, the key is kept in your device’s Keychain, not in the app’s settings.

Sign Out forgets the key and revokes it on pixla.app, so signing in and out doesn’t leave dead keys behind. Other devices, and keys you made yourself, are untouched.

See also: Your Account · What is Pixla Hosting?

Sites

Static Sites

Publish a folder of HTML, CSS and JavaScript.

A static site is a folder of files — a Pixla Sites export, or any static build. Pixla Hosting serves it at yourname.pixla.app and from your own domain.

  1. Choose New Site (+ on an iPhone).
  2. Pick an address and Static site.
  3. Choose the folder to publish.

To update the site, publish the folder again. Pixla Sites can publish straight to Pixla Hosting too.

Redirects and headers

Put a _redirects or _headers file at the top of the folder — the same formats Netlify and Cloudflare Pages use. They configure the site and aren’t published as pages.

# _redirects — from, to, optional status (301 if left out)
/old-page      /new-page
/blog/:slug    /posts/:slug   302
/app/*         /app/index.html  200

# _headers — a path, then indented headers
/*
  X-Frame-Options: DENY

A redirect applies when no file exists at that address; 200 shows the target without changing the address. If a line has a mistake, the publish stops and says which line.

Publish history

The site keeps its last 20 publishes. Roll Back… puts an earlier one live again — as a new publish, so you can move forward again from the same list.

See also: Custom Domains · Analytics · Vapor Apps

Custom Domains

Serve a site from a domain you own.

Attach a domain you own from the site’s page. Pixla Hosting sets up the domain and its www version together: one is where visitors land, the other redirects to it.

  1. On the site, enter the domain and choose whether visitors land on the bare domain or www.
  2. At your DNS provider, add the records shown — a CNAME for each hostname pointing at cname.pixla.app.
  3. Leave the records DNS only (not proxied) if your DNS is on Cloudflare.
  4. Choose Verify Now. Once the records are found, HTTPS is issued automatically.
A CNAME can’t normally sit on a bare domain. Cloudflare flattens it automatically; on Route 53 use an ALIAS record, and elsewhere look for ALIAS or ANAME.

See also: Static Sites · Vapor Apps

Vapor Apps

Vapor Apps

Run server-side Swift on its own server.

A Vapor app runs on its own server. Vapor apps are part of the Pro plan, which includes one; the New Site screen says what your plan allows before you pick a project.

Deploying

  • From this app — choose the project folder; the app packages and uploads it.
  • From Vaporware — publish from your local Vapor project.
  • From GitHub — connect a repository and deploy on every push to a branch.
  • From the web dashboard — upload the project as a .tar.gz.

Each deploy builds your app, runs its database migrations, and only then starts serving the new version. If the build fails, the previous version keeps running, the build log shows why, and the site’s owner gets an email saying so — and a notification on every device signed in to the account that allows them. Account → Send a Test Notification proves this device can receive one, without waiting for something to go wrong.

A site’s first build fetches and compiles every dependency from scratch, which can take 5–10 minutes. Later builds reuse that work and usually finish in a minute or two — until Package.swift or Package.resolved changes, when the dependencies are compiled again. Canceling frees the site to deploy again straight away, but a build already under way finishes on the server and its result is discarded.

Running it

  • Deploy history — every build, with its log. Roll back re-runs an earlier build without rebuilding.
  • Logs — the running app’s output, live.
  • Scale — memory, CPUs, instances and region. Always-on keeps it running; otherwise it sleeps when idle and wakes on the next visit.
  • Addresses — every server has its own IPv6 address and a shared IPv4 address, free. Dedicated IPv4 adds an IPv4 address that’s yours alone, billed by the hour while it’s on; only a firewall or DNS setup that requires one needs it.
  • Restart — restarts the server from the deployed build.
  • Environment variables — values are write-only, and apply on the next deploy or restart.

Branch previews

With a GitHub repository connected, turn on Deploy other branches as previews. A push to any other branch then deploys it to its own address, with its own copy of the database, so you can try a change before merging it. Your live site isn’t touched.

  • Up to 3 previews at a time. Open goes to one; Remove… deletes it.
  • A preview goes when its branch is deleted, when previews are turned off, or after a week without a push.
  • Environment variables aren’t copied to previews — they’re write-only. The database copy is set for you.

See also: Database · Custom Domains · Usage & Billing

Database

A private Postgres database, backed up continuously.

A Vapor app can have its own Postgres database. Your app reads the connection from the managed DATABASE_URL environment variable.

Back up and restore

Download Backup… saves the whole database as a compressed SQL file that restores into any Postgres with psql — worth taking before anything risky.

If something goes wrong, roll the database back to any moment within its history window — the site’s Database section says how far back that reaches, usually the last 24 hours.

  1. Click the date under Back up and restore, then pick a quick option such as 1 hour ago, or choose a date and time.
  2. Choose Restore… and confirm.
The state the database had just before the restore is kept as a backup, so a restore can itself be undone.

Connect with your own tools

Show Connection String gives you the address, user and password for psql, TablePlus or a migration script.

The connection string and the backup are kept to the account owner and team Admins, because they include every row and the password.

Rotate credentials

Rotate Credentials gives the database a new password. The running app keeps the old one until the server restarts or redeploys, and a connection string you copied stops working.

The size shown is a heads-up against a suggested limit — nothing is blocked when you pass it.

Delete the database

Delete Database… removes the database and everything in it, along with its backups, and stops it being billed. The site and its server keep running; the app restarts without a DATABASE_URL, so an app that needs a database stops working until you add one again.

  1. Choose Download a Backup First… if you might want the data.
  2. Type the site’s name to confirm, then Delete Database.
It waits while a deploy is running, and while a preview environment still has a database branched from this one — remove the preview first. Only the account owner and team Admins can delete a database.

See also: Vapor Apps · Usage & Billing

Built In

Analytics

Page views, visitors, top pages and referrers.

Every site gets privacy-respecting stats for the last 30 days: page views, visitors, the most-visited pages, and the sites that sent visitors.

  • No cookies — visitors are counted per day, so a total adds up each day’s visitors.
  • No third parties — one small first-party script, nothing shared.
  • Updated daily — today’s visits appear once the day’s stats are compiled.

See also: Forms · Static Sites

Forms

Collect submissions from your site's forms.

Submissions from forms on your site collect under View Submissions…. Anything flagged as spam goes to Spam instead of your inbox.

Working with submissions

  • Delete several at once — select rows (click, Command-click or Shift-click, or Select All), then Delete Selected… or press Delete.
  • Export CSV — the inbox or spam, as a spreadsheet.
  • Files — download anything uploaded with a submission.

Form settings

  • Email notifications — get an email for each new submission.
  • Autoresponder — send a confirmation to whoever submitted (the form needs an email field).
  • Bot protection — require a Cloudflare Turnstile check.

See also: Analytics · Store

Store

Sell products with card payments through Stripe.

Open Manage Store… on a site to sell from it.

  1. Payments — set up payments with Stripe. You finish a short set-up on Stripe’s site, and payouts go to your own Stripe account.
  2. Products — add products with a price, description and image.
  3. Storefront code — paste it into a page of your site to list products with Buy buttons.

Orders lists every purchase, with full or partial refunds and a CSV export.

Prices always come from Pixla, never from the page — so a visitor can’t change what they pay.

See also: Forms · Usage & Billing

Account

Your Account

Email, password, API keys and team — on pixla.app.

Account — your email in the sidebar on a Mac or iPad, the last tab on an iPhone — shows your plan, whether your email is confirmed, and the key this app is connected with. Changes happen on pixla.app: one account for Hosting, Sites and Mail.

  • Profile — change your email or password, turn on two-factor sign-in, sign out other devices, download your data.
  • API keys — create and revoke keys.
  • Team — invite people to operate your sites: Admin, Operator or Viewer.

Team accounts

If someone invited you to their team, the Account page lists their account under Accounts. Choose Switch to operate their sites; what you can change depends on your role. Switch back the same way.

Creating a site waits until your email is confirmed. Check your inbox for the link, or send a new one from your profile.

See also: Usage & Billing · Connecting the App · Web Dashboard

Usage & Billing

What's metered, and how usage is billed.

Usage in the sidebar shows this billing period’s metered usage — Vapor compute and bandwidth, database compute and storage, dedicated IPv4 — and what’s running. Each running site says what it runs on, and how big its database was at the last hourly reading.

Static sites meter nothing. Their bandwidth and storage are included however much they’re visited, so an account with only static sites has nothing to show here.

Usage above your plan’s allowance is billed as you go. There’s no hard cap: your sites are never switched off for using more.

See also: Your Account · Vapor Apps

Web Dashboard

Everything here, from any browser.

hosting.pixla.app does everything this app does — create sites, deploy, manage domains, databases, forms, the store and usage — from any browser, including on a phone or a PC.

It signs in with your Pixla account. If you work on a team, switch between accounts from Accounts.

On a phone or tablet, open it and choose Add to Home Screen — it then opens full-screen like an app.

See also: What is Pixla Hosting? · Your Account