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
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 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}}"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user