Skip to main content
A web server in Springwinter is a containerized HTTP service built directly from your GitHub repository and run as a container inside your own AWS account. Springwinter provisions the load balancer, assigns a public URL, manages TLS, and keeps the container running — you own the infrastructure and the code.

Requirements

Before you deploy a web server, make sure you have:
  • A GitHub repository containing a Dockerfile, a Procfile, or a custom build command that produces a runnable container image.
  • An AWS account connected to Springwinter via the CloudFormation IAM role. See Connect Your AWS Account.
  • A GitHub account connected via the Springwinter GitHub App. See Connect GitHub.

Deploy a Web Server

1

Open your project

Navigate to your project in the Springwinter dashboard. If you do not have a project yet, create one from the dashboard home screen.
2

Add a web server resource

Click Add resource, then select Web server from the resource type list.
3

Select a repository and branch

Choose the GitHub repository you want to deploy from. Then select the branch to track — Springwinter will build and deploy every time a commit is pushed to that branch.
4

Configure your build

If your repository does not have a Dockerfile at the root, enter a custom build command that produces the image. Set the health check path — the HTTP path Springwinter polls to determine whether your container is healthy. The default is /.
5

Choose a compute size

Select the CPU and memory allocation for your container. You can change these later by patching the resource.
6

Deploy

Click Deploy. Springwinter validates the required IAM permissions, builds the container image, and launches the service. When the health check passes, your public URL becomes active.
Springwinter checks every required IAM action against your connected role before creating any resource. If a permission is missing, deployment stops immediately and nothing is created in your account.

Configuration Options

Source

The GitHub repository and branch to build from. Toggle auto-deploy to control whether every push to the tracked branch triggers a new deployment automatically.

Compute

The CPU units and memory (MiB) allocated to your container. Update these at any time — Springwinter performs a rolling replacement with zero downtime.

Health Path

The HTTP path Springwinter uses to determine container health. Return a 200–399 status on this path to pass the health check. Defaults to /.

Environment Variables

Injected into the container at runtime. Manage them from the dashboard or via the API. See Environment Variables.

API Reference

Create a Web Server

Get a Web Server

Update a Web Server

Redeploy

To trigger a manual redeploy without pushing a commit, call the redeploy endpoint:
Springwinter pulls the latest image for the tracked branch and performs a rolling update of the service.

Branch Previews

Every branch in your repository can have its own isolated preview deployment, each with its own URL. Previews are created by calling:
Each preview is a full copy of the service running in your AWS account. For a full explanation of how previews work, see Branch Previews.

Environment Variables

Retrieve the current environment variables for a web server:
Replace all environment variables at once:
PUT replaces the entire set of environment variables. Any keys not included in the request body are removed. See Environment Variables for full details.

Logs and Metrics

Logs are streamed from CloudWatch and are accessible from the Logs tab of your web server in the dashboard, or via the API:
CPU utilization, memory usage, request count, and error rate metrics are available under the Metrics tab or at:

Cost Estimate

Springwinter shows a live cost estimate and monthly run rate for each web server. Retrieve the current estimate via the API:

Teardown

Deleting a web server removes the container service and the load balancer listener rule from your AWS account:
Teardown is permanent. The container service and all associated run history are removed from your account. Ensure you no longer need the resource before deleting it.