WHAT: Introduces Dockerfiles for development and production, Docker Compose configurations, a Makefile for common tasks, shell scripts for environment setup/teardown, a basic Express API with SQLite integration. WHY: Enables easy setup and deployment of the application using Docker. Provides basic API endpoints for managing purchase items. HOW: - Creates `docker-compose.dev.yml` and `docker-compose.prod.yml` to define services and volumes. - Introduces `Dockerfile.dev` and `Dockerfile.prod` to build container images with necessary dependencies. - Adds `Makefile` with commands for building, running, and managing the application. - Implements shell scripts for simplified Docker environment management. - Sets up Express API with endpoints for CRUD operations on purchase items, using SQLite as the database. - Uses `better-sqlite3` to connect and interact with the SQLite database.
19 lines
309 B
YAML
19 lines
309 B
YAML
services:
|
|
api:
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile.prod
|
|
image: dm-purchase-api:prod
|
|
platform: linux/amd64
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- DB_PATH=/data/purchase.db
|
|
volumes:
|
|
- dm_db:/data
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
dm_db:
|
|
|
|
|