Skip to content
Snippets Groups Projects
Commit 4276371b authored by Byron Biggs's avatar Byron Biggs
Browse files

Docker Implementation

parent eaaf1ebc
Branches
No related tags found
No related merge requests found
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
\ No newline at end of file
version: '3'
services:
web-app:
build: .
ports:
- "8080:8080"
depends_on:
- db
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/team_10_db
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=comsc
db:
image: mariadb:latest
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=comsc
- MYSQL_DATABASE=team_10_db
volumes:
- ./src/schema.sql:/docker-entrypoint-initdb.d/schema.sql
- mariadb_data:/var/lib/mysql
volumes:
mariadb_data:
\ No newline at end of file
......@@ -163,34 +163,72 @@ sudo rm -f /etc/nginx/conf.d/default.conf
# Restart NGINX to apply changes
sudo systemctl restart nginx
# Build and run the Polish community group application
# Build the Polish community group application
echo "=== Building Polish community application ==="
cd ~/fork-team-10-polish-community-group
export PATH=$PATH:/opt/gradle/gradle-7.6/bin
gradle build
# Create a systemd service for Spring Boot application
echo "=== Creating systemd service for Spring Boot ==="
cat << EOF > /etc/systemd/system/springboot.service
[Unit]
Description=Spring Boot Application
After=syslog.target network.target
[Service]
User=root
WorkingDirectory=/root/fork-team-10-polish-community-group
ExecStart=/opt/gradle/gradle-7.6/bin/gradle bootRun
SuccessExitStatus=143
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
# Install Docker
echo "=== Installing Docker ==="
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
# Add current user to docker group
sudo usermod -aG docker $(whoami)
# Create Dockerfile for the application
echo "=== Creating Dockerfile ==="
cat << EOF > ~/fork-team-10-polish-community-group/Dockerfile
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY build/libs/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
EOF
# Create docker-compose.yml
echo "=== Creating docker-compose.yml ==="
cat << EOF > ~/fork-team-10-polish-community-group/docker-compose.yml
version: '3'
services:
web-app:
build: .
ports:
- "8080:8080"
depends_on:
- db
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/team_10_db
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=comsc
db:
image: mariadb:latest
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=comsc
- MYSQL_DATABASE=team_10_db
volumes:
- ./src/schema.sql:/docker-entrypoint-initdb.d/schema.sql
- mariadb_data:/var/lib/mysql
volumes:
mariadb_data:
EOF
# Enable and start the Spring Boot service
sudo systemctl daemon-reload
sudo systemctl enable springboot
sudo systemctl start springboot
# Build and run containers
echo "=== Building and running Docker containers ==="
cd ~/fork-team-10-polish-community-group
docker-compose build
docker-compose up -d
echo "=== Provisioning complete ==="
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment