From 10a7f47d74e30ab3c31c65ad654f024ab38244f3 Mon Sep 17 00:00:00 2001 From: Riju Date: Mon, 5 May 2025 04:25:21 +0530 Subject: [PATCH] Added working Dockerfile and docker-compose files and updated README with instructions --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ README.md | 8 ++++++++ docker-compose.yml | 28 ++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..d640c6212 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +FROM php:7.4-apache + +# Install necessary PHP extensions and tools +RUN apt-get update && apt-get install -y \ + libpng-dev \ + libjpeg-dev \ + libfreetype6-dev \ + libonig-dev \ + libxml2-dev \ + libzip-dev \ + unzip \ + wget \ + git \ + imagemagick \ + && docker-php-ext-install pdo pdo_mysql mysqli zip gd + +# Enable Apache mod_rewrite +RUN a2enmod rewrite + +# Set working directory +WORKDIR /var/www/html + +# Download Omeka zip file from GitHub +RUN wget https://github.com/omeka/Omeka/releases/download/v3.1.2/omeka-3.1.2.zip + +# Unzip the downloaded file +RUN unzip omeka-3.1.2.zip + +# Move files from extracted directory to current working directory +RUN mv omeka-3.1.2/* . && mv omeka-3.1.2/.htaccess . + +# Clean up by removing the zip and extracted directories +RUN rm -rf omeka-3.1.2* + +# Set permissions +RUN chown -R www-data:www-data /var/www/html + +EXPOSE 80 diff --git a/README.md b/README.md index 378b8b992..7ce42ff2a 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,11 @@ licenses. Release notes for Omeka are available at [http://omeka.org/codex/Release_Notes](http://omeka.org/codex/Release_Notes). + +## Installation via Docker + +```bash +docker compose up -d +``` + +Navigate to http://localhost:8080/install. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..bb77a3985 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +services: + omeka: + build: . + ports: + - "8080:80" + volumes: + - ./omeka_data:/var/www/html + - ./db.ini:/var/www/html/db.ini + depends_on: + - omeka-db + + omeka-db: + image: mysql:latest + environment: + MYSQL_ROOT_PASSWORD: omeka + MYSQL_DATABASE: omeka + MYSQL_USER: omeka + MYSQL_PASSWORD: omeka + volumes: + - ./db_data:/var/lib/mysql + + phpmyadmin: + image: phpmyadmin/phpmyadmin + ports: + - "8081:80" + environment: + PMA_HOST: omeka-db + MYSQL_ROOT_PASSWORD: omeka