Service types
Understand seenode's building blocks and pick the right type: static site, web service, private service, background worker, or managed database.
Last updated September 18, 2026
On seenode, you deploy and run your code as one or more services. A service might be a public API, a frontend, an internal HTTP app, or a background process. Managed databases sit beside them in the same workspace.
(browsers, APIs)
seenode workspace
Whenever you create something new in the dashboard, you pick a type based on what the code will do.
Service types at a glance
Four application types for running code:
- Static site — HTML, CSS, and JS from Git ($0)
- Web service — public HTTP process (most common for a first app)
- Private service — HTTP only on the workspace network
- Background worker — long-running process with no HTTP listener
Plus managed datastores:
- PostgreSQL and MySQL
Web, worker, and private apps can also deploy from a Docker image instead of building from Git. Static sites are Git-only.
Which service type is right for my code?
Walk the questions. Each leaf links to the matching guide.
Listens on a port
Web serviceStatic HTML, CSS, JS
Static siteOnly other seenode services
Private serviceRuns in the background
Background workerNeed a database? That is a separate resource. See Databases.
Same decisions as a table
| If your code… | Choose |
|---|---|
| Serves only built HTML/CSS/JS (SPA, docs site, marketing page) | Static site |
| Listens for public HTTP (API, SSR, full-stack app) | Web service |
| Listens for HTTP, but only from other seenode services | Private service |
| Runs continuously with no incoming HTTP (queue consumer, bot, pipeline) | Background worker |
| Stores relational data | PostgreSQL or MySQL |
Private service vs worker: if the process binds a port and other services call it over HTTP, use private. If it only polls a queue or runs jobs and never accepts inbound connections, use a worker.
Summary of service types
Static site
Publishes a folder of HTML, CSS, and JS from Git. $0, in Beta. No container at request time, no start command, no replicas, no volumes. SPA rewrite (/* → /index.html) is on by default. Env vars apply at build time only. Custom domains and HTTPS are supported.
Use for React / Vue / Angular SPAs, Astro static builds, and other frontends that do not need a server process. Full guide: Static sites.
Web service
The usual choice for a first process. Dynamic apps with a public *.seenode.app URL, free auto-renewing TLS, and optional custom domains. seenode builds from Git (or pulls an image), runs your start command, and load-balances to the Port you set. The process must listen on 0.0.0.0 at that port.
Use for Express, FastAPI, Django, Nest, Next.js (Node server), Phoenix, and similar. Full guide: Web services.
Private service
Same instance sizes and Git or Docker sources as web, but no public URL and no custom domains. Other services in the workspace reach it at http://{name}-service on the private network (for example http://web-a1b2c3d4e5f6-service).
Use for internal APIs and sidecars that should not face the internet. Full guide: Private services.
Background worker
A long-lived process with no public URL, no Domains tab, and no ClusterIP. It can open outbound connections to databases, APIs, and other seenode services. Deployed like a web service (build + start), without a port.
Use for Celery, RQ, BullMQ, Oban, schedulers, bots, and pipelines. Full guide: Deploy a worker.
Databases
Managed PostgreSQL or MySQL. seenode provisions the instance and gives you connection details. Reach it from apps over the private network (or publicly). Wiring credentials into an app is a separate step: Link a database.
Databases are not application types. They sit next to your services and bill from the same credit balance.
How they fit together
A typical stack is a static or web public surface, optional private APIs and workers, and a database, in one workspace. Web, worker, and private share instance prices (Basic 28); static hosting is free. Everything draws from prepaid credits.
Your first deploy
Static or web end-to-end in about five minutes.Static sites
Frontend and SPAs from Git, $0 hosting.Web services
Public HTTP: build, port, TLS, and scaling.Private services
Internal HTTP with no public URL.Background workers
Queue consumers and other long-running jobs.Create a database
Managed MySQL and PostgreSQL.