This is a simple Java application that runs inside a Docker container with continuous integration setup using GitHub Actions.
├── .github/workflows/main.yml ├── Dockerfile ├── docker-compose.yml ├── pom.xml └── src/main/java/com/napier/sem/App.java
Make sure you have installed:
Verify installation:
docker --version
docker compose version
java --version
mvn --versiondocker-compose up -d # Start both app and MongoDB
docker logs sem_app # View application logs
docker-compose down # Stop all containers# Create network and start MongoDB
docker network create --driver bridge se-methods-network
docker run -d --name mongo-standalone --network se-methods-network -p 27001:27017 mongo:latest
# Run application on same network
docker run --network se-methods-network --name sem_app_standalone -e MONGO_HOST=mongo-standalone sem_app:latest# Start MongoDB with port mapping
docker run -d --name mongo-standalone -p 27001:27017 mongo:latest
# Run application connecting to host
docker run --name sem_app_localhost -e MONGO_HOST=host.docker.internal -e MONGO_PORT=27001 sem_app:latest./run-standalone.sh 1 # Docker compose
./run-standalone.sh 2 # Custom network
./run-standalone.sh 3 # Localhost connection
./run-standalone.sh clean # Clean up everythingThe application supports these environment variables:
MONGO_HOST: MongoDB hostname (default:mongo-dbserver)MONGO_PORT: MongoDB port (default:27017)