Files
classroomio/docker/docs/commands.md
T
Rotimi Best 168866c81b feat: optimize docker compose for dashboard and api (#578)
* chore: use turbo for build

* fix docker compose file and remove backend

* chore: update .dockerignore to include additional files and directories for improved build management

* copy everything in both docke filed

* refactor: streamline Dockerfile to copy entire dashboard app and remove unnecessary node_modules references

* update api to use turbo to start

* run ls la for docker files

* update cmd commands

* update cmds to use node

* fix: add redis url to docker compose

* fix: reduce memory allocation for dashboard build in Dockerfile

* debug dashboard build

* update api docker file

* update dashboard

* add tsconfig

* chore: add echo to dockerfile

* fix: change echo to run

* chore: install pnpm before switching to non-root user in Dockerfile

* refactor: update start commands in package.json and Dockerfiles to use pnpm

* install turbo

* use turbo 1.10.16

* update turbo config

* fix: update CMD in Dockerfile to run the API directly using Node.js

* change

* add commands to turbo.json

* copy over turbo

* add workspace

* fix: update start commands in package.json to specify ports for dashboard and API

* publish docker images

* add dev branch

* update compose

* build only for amd64 platform

* refactor: update docker-compose to use pre-built images and remove build context

* coolify-dockertest

* point to latest

* chore: update docker-compose to use specific version tags for API and dashboard images

* remove envs for docker file

* 0.1.3

* use dynamic env

* 0.1.4

* add PUBLIC_IS_SELFHOSTED=true

* chore: update docker-compose to use version 0.1.5 for API and dashboard images

* use static for PUBLIC_IS_SELFHOSTED

* disable cache for tag

* use 0.1.7

* add PUBLIC_IS_SELFHOSTED=true

* comment out caching

* update docker-compose to use version 0.1.8 for API and dashboard images

* update api port

* use tag 0.1.9

* add cache

* use latest tag in compose file
2025-10-11 13:27:50 +01:00

91 lines
1.5 KiB
Markdown

# Quick Docker Commands Reference
## Login to Docker Hub
```bash
docker login
```
## Build Images Locally
### API
```bash
docker build -f ./docker/Dockerfile.api -t classroomio/api:latest .
```
### Dashboard
```bash
docker build -f ./docker/Dockerfile.dashboard -t classroomio/dashboard:latest .
```
## Push to Docker Hub
### API
```bash
docker push classroomio/api:latest
```
### Dashboard
```bash
docker push classroomio/dashboard:latest
```
## All in One Script
```bash
# Make script executable (first time only)
chmod +x docker-push.sh
# Run the script
./docker-push.sh
# With custom username
DOCKERHUB_USERNAME=your-username ./docker-push.sh
# With version tag
VERSION=v1.0.0 ./docker-push.sh
```
## Pull Published Images
```bash
docker pull classroomio/api:latest
docker pull classroomio/dashboard:latest
```
## Run Published Images
```bash
# API
docker run -d -p 3081:3081 \
-e PUBLIC_SUPABASE_ANON_KEY=your_key \
-e PUBLIC_SUPABASE_URL=your_url \
classroomio/api:latest
# Dashboard
docker run -d -p 3082:3082 \
-e PUBLIC_SUPABASE_ANON_KEY=your_key \
-e PUBLIC_SUPABASE_URL=your_url \
classroomio/dashboard:latest
```
## Useful Commands
### Check local images
```bash
docker images | grep classroomio
```
### Remove local images
```bash
docker rmi classroomio/api:latest
docker rmi classroomio/dashboard:latest
```
### View image details
```bash
docker inspect classroomio/api:latest
```
### Check image size
```bash
docker images classroomio/api:latest --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
```