How Do I Deploy a Web Application to the Spinup Container Service?

How Do I Deploy a Web Application to the Spinup Container Service?

Spinup’s Container Service allows you to run containerized applications in a secure, managed environment. In this guide, we’ll walk through deploying a real web application — NocoDB, an open-source database GUI — using a MySQL backend.


Overview

We'll go through the following steps:

  1. Create a database (e.g., MySQL)

  2. Store database credentials as a secret

  3. Configure and launch the container service

  4. Open the necessary ports for access

  5. Access the deployed application


Step 1: Create a Database

  1. In your Spinup Space, click Create, then choose Serverless Database (e.g., MySQL).

  2. Set your parameters and click Create Database.

  3. Wait a few minutes for the database to provision.

  4. Record the Endpoint, Username, and Password — you’ll need these for your application to connect.


Step 2: Create a Secret

  1. In your Space, navigate to the Secrets tab.

  2. Click Add Secret.

  3. Name your secret (e.g., NC_DB).

  4. Format the secret for NocoDB using your database credentials:

    mysql2://<ENDPOINT>:3306?u=<USERNAME>&p=<PASSWORD>&d=<DBNAME>

Step 3: Configure and Deploy the Container Service

  1. Go to Create → Container Service.

  2. Basic Info:

    • Enter a Service Name (e.g., nocodbexample)

    • Choose a Size (e.g., nano.1GB)

  3. Containers Tab:

    • Click Add Container

    • Name: nocodb

    • Image: nocodb/nocodb (press Enter or click the checkmark)

    • Ports: Add 8080/TCP (the default port used by NocoDB)

    • Secret Environment Variables: Add the key NC_DB and select your secret

  4. Click Add Container, then proceed to the Summary tab and click Create Service.

Spinup will deploy the container. You can monitor its status from the service dashboard. Once ready, the service will show a green status dot.


Step 4: Open Required Ports in the Firewall

By default, only ports 22 and 3389 are open. To access your app:

  1. Go to your Space’s Firewall tab.

  2. Click Add Rule.

  3. Choose:

    • Service: Other (Custom)

    • Port: 8080

    • Toggle Anywhere on Campus

  4. Click Add Rule

After a few seconds, the new rule will appear in the firewall table.


Step 5: Access the Web App

Once deployed and the firewall is configured, your application is available at:

http://<container-endpoint>:8080

For example:

http://spinup-0018a5-nocodbexample.svc.spinup.yale.edu:8080

This address is accessible only from Yale networks. If you need to expose it to the public internet, you must submit a request for load balancer and domain setup.


Need Public Access?

To expose your app publicly (e.g., nocodbexample.yale.edu with HTTPS):