How Do I Use the Spinup Container Service?
Spinup’s Container Service lets you run containerized applications in the cloud — without managing any servers. If you're familiar with Docker, this is a simple way to run web apps, APIs, background tasks, or other container-based tools using Yale-managed cloud infrastructure.
You can deploy containers from public repositories, define environment variables and secrets, and support more advanced setups like sidecars or encrypted endpoints — all from the Spinup web interface.
What Can I Use It For?
Here are a few common use cases:
Hosting a simple web app using an Nginx or Flask container
Running an API backend with dynamic environment variable settings
Creating a secure frontend proxy to serve encrypted traffic
Spinning up lightweight tools for testing or demonstration
Getting Started: Deploying a Simple Container
Let’s walk through a basic example using the nginx
container from Docker Hub. This will create a web-accessible service inside your Spinup space.
Step-by-Step
Log in to Spinup
Go to https://spinup.internal.yale.edu and sign in with your NetID.Create a Container Service
Click Create in your space
Under Containers, select Container Service
Name your service (e.g.,
simplenginx
)Choose a size (e.g.,
nano.512MB
)Click 2. Containers
Define the Container
Name:
nginx
Image:
nginx:latest
(press Tab to validate it)Leave other settings at their defaults
Click + Add Container, then 3. Summary
Create the Service
Review your settings
Click Create Service
Once deployed, your container will be accessible at a DNS name like:
http://spinup-xxxxx-simplenginx.svc.spinup.yale.edu
You can test it by visiting that link or running:
curl http://<your-endpoint>
Next Steps: Customizing Your Container
After launching a service, you can edit and redeploy it to update settings like:
Environment variables (e.g.,
DEBUG=true
,APP_PORT=3000
)Secret values (for API keys or database credentials)
Port mappings
Number of replicas (for scaling)
Spinup makes these updates easy — simply edit the service and choose Redeploy.
Advanced Example: Adding HTTPS with a Sidecar Proxy
Need encrypted traffic to your web app? You can pair your container with an nginxproxy
sidecar that terminates HTTPS.
This setup includes:
A backend app (e.g.,
testapi
) that listens on port 8080A sidecar proxy (e.g.,
nginxproxy
) that handles HTTPS on port 443
You can use prebuilt images from the Yale Spinup Docker Hub or your own.
Common environment variables include:
LISTEN_PORT=443
— enables HTTPSCERT_SUBJECT=/CN=your-app-name
— controls the self-signed cert CN
This is useful when deploying services behind a Yale load balancer or when encrypting traffic between components.
Secrets and Environment Variables
Spinup supports securely injecting sensitive values (like tokens or passwords) using the Secrets tab in your Space.
To use them:
Add the secret to your Space (e.g., name:
db_password
, value:mypassword
)Add the secret to your container under Secret Environment Variables
Spinup handles encryption and access control — the secret will be securely passed to your container at runtime.
Best Practices
Start simple. Begin with a basic container to understand how services work.
Use secrets for anything sensitive. Never hardcode credentials into your container image or environment variables.
Use meaningful names for services and containers — this makes debugging easier.
Review logs and metrics in the Container Service dashboard to monitor behavior.
Need Help?
Email: spinup@yale.edu
Slack: #spinup channel