* 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
63 lines
1.9 KiB
Bash
Executable File
63 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Docker Hub Push Script for ClassroomIO
|
|
# This script builds and pushes the API and Dashboard images to Docker Hub
|
|
|
|
set -e # Exit on error
|
|
|
|
# Configuration
|
|
DOCKERHUB_USERNAME="${DOCKERHUB_USERNAME:-classroomio}" # Change this to your Docker Hub username
|
|
VERSION="${VERSION:-latest}" # Can be overridden with VERSION env var
|
|
|
|
# Colors for output
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${BLUE}================================${NC}"
|
|
echo -e "${BLUE}ClassroomIO Docker Hub Publisher${NC}"
|
|
echo -e "${BLUE}================================${NC}"
|
|
echo ""
|
|
|
|
# Build and push API
|
|
echo -e "${GREEN}Building API image...${NC}"
|
|
docker build \
|
|
-f docker/Dockerfile.api \
|
|
-t ${DOCKERHUB_USERNAME}/api:${VERSION} \
|
|
-t ${DOCKERHUB_USERNAME}/api:latest \
|
|
.
|
|
|
|
echo -e "${GREEN}Pushing API image to Docker Hub...${NC}"
|
|
docker push ${DOCKERHUB_USERNAME}/api:${VERSION}
|
|
docker push ${DOCKERHUB_USERNAME}/api:latest
|
|
|
|
echo -e "${GREEN}✓ API image published successfully!${NC}"
|
|
echo ""
|
|
|
|
# Build and push Dashboard
|
|
echo -e "${GREEN}Building Dashboard image...${NC}"
|
|
docker build \
|
|
-f docker/Dockerfile.dashboard \
|
|
-t ${DOCKERHUB_USERNAME}/dashboard:${VERSION} \
|
|
-t ${DOCKERHUB_USERNAME}/dashboard:latest \
|
|
.
|
|
|
|
echo -e "${GREEN}Pushing Dashboard image to Docker Hub...${NC}"
|
|
docker push ${DOCKERHUB_USERNAME}/dashboard:${VERSION}
|
|
docker push ${DOCKERHUB_USERNAME}/dashboard:latest
|
|
|
|
echo -e "${GREEN}✓ Dashboard image published successfully!${NC}"
|
|
|
|
# Summary
|
|
echo -e "${BLUE}================================${NC}"
|
|
echo -e "${GREEN}All images published successfully!${NC}"
|
|
echo -e "${BLUE}================================${NC}"
|
|
echo ""
|
|
echo "API Image: ${DOCKERHUB_USERNAME}/api:${VERSION}"
|
|
echo "Dashboard Image: ${DOCKERHUB_USERNAME}/dashboard:${VERSION}"
|
|
echo ""
|
|
echo "To pull these images:"
|
|
echo " docker pull ${DOCKERHUB_USERNAME}/api:${VERSION}"
|
|
echo " docker pull ${DOCKERHUB_USERNAME}/dashboard:${VERSION}
|