Commit 2bbaa8d2 authored by jlopez's avatar jlopez
Browse files
parents c19068c7 5a75029d
FROM alpine:3.9
LABEL Author remyd1 - https://github.com/remyd1
RUN apk --update add php-apache2 php7-session php7-mysqli && rm -f /var/cache/apk/*
RUN mkdir /app && cd /app && \
wget https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/-/archive/v0.3/wicopa-v0.3.tar.gz && \
tar -xf wicopa-v0.3.tar.gz && ln -s wicopa-v0.3 wicopa && \
cp wicopa/conf/Conf.php.sample wicopa/conf/Conf.php && \
chown -R apache:apache /app && \
sed -i "s#DB_NAME = ''#DB_NAME = 'wicopa'#" wicopa/conf/Conf.php && \
sed -i "s#DB_HOSTNAME = ''#DB_HOSTNAME = 'wicopadb'#" wicopa/conf/Conf.php && \
sed -i "s#DB_USERNAME = ''#DB_USERNAME = 'wicopauser'#" wicopa/conf/Conf.php && \
sed -i "s#DB_PP = ''#DB_PP = 'w1c0Pa5s'#" wicopa/conf/Conf.php && \
sed -i "s#'to_replace_with_your_admin_pass'#'450cb0c92db35549cb926efc391df2ceae4b48d1'#" wicopa/conf/Conf.php
RUN sed -i 's/^#ServerName .*/ServerName localhost:80/g' /etc/apache2/httpd.conf && \
sed -i 's#/var/www/localhost/htdocs#/app/wicopa#g' /etc/apache2/httpd.conf && \
sed -i 's/^LoadModule php7_module.*/LoadModule php7_module modules\/libphp7\.so/g' /etc/apache2/httpd.conf && \
sed -i 's/DirectoryIndex index\.html/DirectoryIndex index\.php/g' /etc/apache2/httpd.conf && \
sed -ri 's#^DocumentRoot .*#DocumentRoot "/app/wicopa"#g' /etc/apache2/httpd.conf && \
sed -i 's#AllowOverride None#AllowOverride All#g' /etc/apache2/httpd.conf && \
echo "AddType application/x-httpd-php .php" >> /etc/apache2/httpd.conf
RUN echo "Success"
EXPOSE 80
ENTRYPOINT httpd -D FOREGROUND && /bin/bash
Dockerfile.develop
\ No newline at end of file
FROM alpine:3.9
LABEL Author remyd1 - https://github.com/remyd1
RUN apk --update add php-apache2 php7-session php7-mysqli git && rm -f /var/cache/apk/*
RUN mkdir /app && cd /app && \
git clone https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa.git
WORKDIR /app/wicopa
RUN git checkout develop && \
cp inc/conf/Conf.php.sample inc/conf/Conf.php && \
chown -R apache:apache /app && \
sed -i "s#DB_NAME = ''#DB_NAME = 'wicopa'#" inc/conf/Conf.php && \
sed -i "s#DB_HOSTNAME = ''#DB_HOSTNAME = 'wicopadb'#" inc/conf/Conf.php && \
sed -i "s#DB_USERNAME = ''#DB_USERNAME = 'wicopauser'#" inc/conf/Conf.php && \
sed -i "s#DB_PP = ''#DB_PP = 'w1c0Pa5s'#" inc/conf/Conf.php && \
sed -i "s#'to_replace_with_your_admin_pass'#'450cb0c92db35549cb926efc391df2ceae4b48d1'#" inc/conf/Conf.php
RUN sed -i 's/^#ServerName .*/ServerName localhost:80/g' /etc/apache2/httpd.conf && \
sed -i 's#/var/www/localhost/htdocs#/app/wicopa#g' /etc/apache2/httpd.conf && \
sed -i 's/^LoadModule php7_module.*/LoadModule php7_module modules\/libphp7\.so/g' /etc/apache2/httpd.conf && \
sed -i 's/DirectoryIndex index\.html/DirectoryIndex index\.php/g' /etc/apache2/httpd.conf && \
sed -ri 's#^DocumentRoot .*#DocumentRoot "/app/wicopa"#g' /etc/apache2/httpd.conf && \
sed -i 's#AllowOverride None#AllowOverride All#g' /etc/apache2/httpd.conf && \
echo "AddType application/x-httpd-php .php" >> /etc/apache2/httpd.conf
RUN echo "Success"
EXPOSE 80
ENTRYPOINT httpd -D FOREGROUND && /bin/bash
FROM alpine:3.9
LABEL Author remyd1 - https://github.com/remyd1
RUN apk --update add php-apache2 php7-session php7-mysqli && rm -f /var/cache/apk/*
RUN mkdir /app && cd /app && \
wget https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/-/archive/v0.4/wicopa-v0.4.tar.gz && \
tar -xf wicopa-v0.4.tar.gz && ln -s wicopa-v0.4 wicopa && \
cp wicopa/inc/conf/Conf.php.sample wicopa/inc/conf/Conf.php && \
chown -R apache:apache /app && \
sed -i "s#DB_NAME = ''#DB_NAME = 'wicopa'#" wicopa/inc/conf/Conf.php && \
sed -i "s#DB_HOSTNAME = ''#DB_HOSTNAME = 'wicopadb'#" wicopa/inc/conf/Conf.php && \
sed -i "s#DB_USERNAME = ''#DB_USERNAME = 'wicopauser'#" wicopa/inc/conf/Conf.php && \
sed -i "s#DB_PP = ''#DB_PP = 'w1c0Pa5s'#" wicopa/inc/conf/Conf.php && \
sed -i "s#'to_replace_with_your_admin_pass'#'450cb0c92db35549cb926efc391df2ceae4b48d1'#" wicopa/inc/conf/Conf.php
RUN sed -i 's/^#ServerName .*/ServerName localhost:80/g' /etc/apache2/httpd.conf && \
sed -i 's#/var/www/localhost/htdocs#/app/wicopa#g' /etc/apache2/httpd.conf && \
sed -i 's/^LoadModule php7_module.*/LoadModule php7_module modules\/libphp7\.so/g' /etc/apache2/httpd.conf && \
sed -i 's/DirectoryIndex index\.html/DirectoryIndex index\.php/g' /etc/apache2/httpd.conf && \
sed -ri 's#^DocumentRoot .*#DocumentRoot "/app/wicopa"#g' /etc/apache2/httpd.conf && \
sed -i 's#AllowOverride None#AllowOverride All#g' /etc/apache2/httpd.conf && \
echo "AddType application/x-httpd-php .php" >> /etc/apache2/httpd.conf
RUN echo "Success"
EXPOSE 80
ENTRYPOINT httpd -D FOREGROUND && /bin/bash
wicopa.sql
conf/Conf.php
inc/conf/Conf.php
*.swp
.docker/db/wicopa/*
stages:
- build
- test
- deploy
image: docker:latest
services:
- docker:dind
PrebuildJob:
stage: build
tags:
- bioco
script:
- apk update
- apk add --no-cache py-pip python-dev libffi-dev openssl-dev gcc libc-dev make wget gzip git net-tools
- git clone https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa.git
- cd wicopa
- wget -q http://web.mbb.univ-montp2.fr/download/wicopa.sql.gz
- gunzip -d wicopa.sql.gz
- pip install docker-compose
BuildJob:
stage: build
script:
- docker-compose --version
- docker info
- docker-compose build
TestJob:
stage: test
script:
- docker info
RunDeployment:
stage: deploy
tags:
- bioco
script:
- docker-compose up
- netstat -naptu |grep -E "80|3306"
- wget http://127.0.0.1:8000
- cat index.*
......@@ -9,7 +9,7 @@ a2enmod php7.0
cd /var/www/html/wicopa
cp conf/Conf.php.sample conf/Conf.php
cp inc/conf/Conf.php.sample inc/conf/Conf.php
chown -R www-data /var/www/html/wicopa
chmod -R o-r /var/www/html/wicopa
......@@ -30,7 +30,7 @@ wget http://web.mbb.univ-montp2.fr/download/wicopa.sql.gz
pv wicopa.sql.gz | gunzip | mysql -uwicopauser -p wicopa
vim conf/Conf.php
vim inc/conf/Conf.php
```
# Using Docker
......@@ -38,13 +38,13 @@ vim conf/Conf.php
```bash
git clone https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa.git
# you need to have wicopa.sql here
wget http://web.mbb.univ-montp2.fr/download/wicopa.sql.gz
gunzip -d wicopa.sql.gz
mkdir -p /data/mysql/wicopa
cd wicopa
wget http://web.mbb.univ-montp2.fr/download/wicopa.sql.gz && gunzip -d wicopa.sql.gz
docker-compose up --build
sudo docker-compose up --build
# you can access to it at http://127.0.0.1:8000
# you can login as "admin" with password w1c0Pa5s
```
Your database will be located in `.docker/db/wicopa`.
Note: the `:z` option on your volumes in the docker-compose file is needed if you run it on RedHat-like distros, due to some selinux problems [See here for more informations](https://www.projectatomic.io/blog/2015/06/using-volumes-with-docker-can-cause-problems-with-selinux/).
# wicopa
Web Interface Container Packaging
Wicopa means **Web Interface for Container PAckaging**
This Web UI application can generate Dockerfiles or definition files for Singularity.
# Install
Check [INSTALL](INSTALL.md)
You can test it easily with Docker, using `docker-compose` ([See here](INSTALL.md#using-docker)).
# Roadmap
- Tags to search recipes ([see issue #11](https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/issues/11)),
- Loading and sharing recipes ([see issue #10](https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/issues/10)),
- Adding a custom local configuration to all recipes. Indeed, HPC administrator could occasionnally allow Singularity containers on their cluster. Thus, they usually need to edit the recipe to add custom contents, in order to rebuild the image ([see issue #7](https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/issues/7)),
- Convert the functions to retrieve specific language packages in pure PHP to be able to upgrade it directly from the admin panel ([see issue #2](https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/issues/2)),
- adding a connection to a personal Gitlab/Github profile ([see issue #13](https://gitlab.mbb.univ-montp2.fr/jlopez/wicopa/issues/13)).
\ No newline at end of file
......@@ -21,8 +21,13 @@ $containers = $db->getContainers();
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="./css/style.css">
<script src="./js/jscolor.js"></script>
<!-- local fallbacks -->
<!--link rel="stylesheet" href="./inc/css/bootstrap.min.css">
<link rel="stylesheet" href="./inc/css/jquery.dataTables.min.css"-->
<link rel="stylesheet" href="./inc/css/style.css">
<script src="./inc/js/jscolor.js"></script>
<title>wicopa</title>
</head>
......@@ -181,10 +186,13 @@ $containers = $db->getContainers();
<!-- jQuery Version 1.11.1 -->
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- local fallbacks -->
<!--script src="inc/js/jquery-latest.min.js" type="text/javascript"></script>
<script src="inc/js/bootstrap.min.js" type="text/javascript"></script-->
<script type="text/javascript">
</script>
......
......@@ -6,7 +6,7 @@
* Time: 16:38
*/
require_once(__DIR__.'/../conf/Conf.php');
require_once(__DIR__.'/../inc/conf/Conf.php');
require_once(__DIR__.'/../model/Section.php');
require_once(__DIR__.'/../model/Manager.php');
require_once(__DIR__.'/../model/Distribution.php');
......
......@@ -4,7 +4,7 @@
* Connection to ldap
*/
require_once(__DIR__.'/../conf/Conf.php');
require_once(__DIR__.'/../inc/conf/Conf.php');
class LDAPquery {
......
version: '3'
services:
apache:
web:
build:
context: .
dockerfile: .docker/web/Dockerfile
context: .docker/web
container_name: wicopaweb
restart: always
ports:
- "8000:80"
depends_on:
- mariadb
mariadb:
- db
db:
image: mariadb:10.3
restart: always
container_name: wicopadb
volumes:
- /data/mysql/wicopa:/var/lib/mysql
- ./wicopa.sql:/docker-entrypoint-initdb.d/wicopa.sql
- ./.docker/db/wicopa:/var/lib/mysql:z
- ./wicopa.sql:/docker-entrypoint-initdb.d/wicopa.sql:z
environment:
MYSQL_ROOT_PASSWORD: w1c0Pa5s
MYSQL_DATABASE: wicopa
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment