chore: Docker setup
parent
71bd26ba69
commit
4d9f603250
|
@ -0,0 +1,28 @@
|
||||||
|
# Use the official Nginx image as the base image
|
||||||
|
FROM nginx:latest
|
||||||
|
|
||||||
|
# Copy custom Nginx configuration for client-side routing
|
||||||
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
|
|
||||||
|
# Clear the default Nginx web content folder
|
||||||
|
RUN rm -rf /usr/share/nginx/html/*
|
||||||
|
|
||||||
|
# Install Git
|
||||||
|
RUN apt-get update && apt-get install -y git
|
||||||
|
|
||||||
|
# Set the working directory to the Nginx web content folder
|
||||||
|
WORKDIR /usr/share/nginx/html
|
||||||
|
|
||||||
|
# Clone the content of the specified GitHub repository
|
||||||
|
RUN git clone https://gitty.informatik.hs-mannheim.de/Maradona/FrontendDist .
|
||||||
|
|
||||||
|
# Expose port 80
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
# Create a script to perform git pull on startup
|
||||||
|
RUN echo "#!/bin/sh" > /usr/share/nginx/html/update.sh && \
|
||||||
|
echo "cd /usr/share/nginx/html && git pull" >> /usr/share/nginx/html/update.sh && \
|
||||||
|
chmod +x /usr/share/nginx/html/update.sh
|
||||||
|
|
||||||
|
# Start Nginx and run the update script
|
||||||
|
CMD /usr/share/nginx/html/update.sh && nginx -g 'daemon off;'
|
|
@ -0,0 +1,22 @@
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
def build_docker_image(image_name, tag="latest"):
|
||||||
|
try:
|
||||||
|
subprocess.run(["docker", "build", "-t", f"{image_name}:{tag}", "."], check=True)
|
||||||
|
print(f"Successfully built Docker image: {image_name}:{tag}")
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print(f"Error building Docker image: {e}")
|
||||||
|
|
||||||
|
def tag_and_push_image(image_name, tag="latest"):
|
||||||
|
try:
|
||||||
|
subprocess.run(["docker", "tag", f"{image_name}:{tag}", f"{image_name}:{tag}"], check=True)
|
||||||
|
subprocess.run(["docker", "push", f"{image_name}:{tag}"], check=True)
|
||||||
|
print(f"Successfully tagged and pushed Docker image: {image_name}:{tag}")
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print(f"Error tagging and pushing Docker image: {e}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
docker_image_name = "teammaradona/frontend"
|
||||||
|
docker_image_tag = "latest"
|
||||||
|
build_docker_image(docker_image_name, docker_image_tag)
|
||||||
|
tag_and_push_image(docker_image_name, docker_image_tag)
|
Loading…
Reference in New Issue