Skip to content

DiamondLightSource/squid

Repository files navigation

Turborepo Docker starter

This is from an official Docker starter Turborepo.

To start a particular application go to its readme in /apps/[app of interest].

Apps and Packages

  • web: a Next.js app
  • api: an Express server
  • b18-csv-generator: a config generator for a beamline
  • bluegui: a test client for blueapi
  • TEMPLATE-nextjs-app: a template for making NEXTjs apps
  • TEMPLATE-vite-app: a template for making vite apps
  • test-next-safe-action: a test of the next safe action setup
  • trpc-test: a test of trpc (next safe action won)
  • @repo/ui: a React component library
  • @repo/logger: Isomorphic logger (a small wrapper around console.log)
  • @repo/eslint-config: ESLint presets
  • @repo/typescript-config: tsconfig.json's used throughout the monorepo
  • @repo/jest-presets: Jest configurations

Each package/app is 100% TypeScript.

Docker

This repo is configured to be built with Docker, and Docker compose. To build all apps in this repo:

# Create a network, which allows containers to communicate
# with each other, by using their container name as a hostname
docker network create app_network

# Build prod using new BuildKit engine
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose -f docker-compose.yml build

# Start prod in detached mode
docker-compose -f docker-compose.yml up -d

Open http://localhost:3000.

To shutdown all running containers:

# Stop all running containers
docker kill $(docker ps -q) && docker rm $(docker ps -a -q)

Utilities

This Turborepo has some additional tools already setup for you:

About

A repo for UI library developments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published