Skip to content
Snippets Groups Projects
Commit 981d9505 authored by root's avatar root Committed by PICHOU Kyâne
Browse files

First commit Docker images

parents
No related branches found
No related tags found
1 merge request!5CheckMK stable image
etherpad:
image: etherpad
ports:
- 80:80
links:
- mysql:mysql
volumes:
- /WEBS/tx/etherpad/settings.json:/opt/etherpad-lite/settings.json
kanboard:
container_name: kanboard
image: kanboard
volumes:
- /MIDDLE/tx/kanboard/data:/var/www/html/data
mysql:
image: mysql:latest
volumes:
- /MIDDLE/tx/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=MyStr0ngPassWord$
FROM tx-debian
MAINTAINER antoinebarbare@gmail.com
# Install base packages
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
curl \
apache2 \
libapache2-mod-php5 \
php5-mysql \
php5-gd \
php5-curl \
php-pear \
php5-ldap \
php5-fpm \
php5-cli \
php-apc && \
rm -rf /var/lib/apt/lists/* && \
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
sed -i "s/variables_order.*/variables_order = \"EGPCS\"/g" /etc/php5/apache2/php.ini
RUN sed -i \
-e "s/^upload_max_filesize\s*=\s*2M/upload_max_filesize = 64M/" \
-e "s/^post_max_size\s*=\s*8M/post_max_size = 64M/" \
-e "s/^;\s*max_input_vars\s*=\s*1000/max_input_vars = 2000/" \
/etc/php5/cli/php.ini
# Add image configuration and scripts
ADD run.sh /run.sh
RUN chmod 755 /run.sh
EXPOSE 80
WORKDIR /var/www/
CMD ["/run.sh"]
#!/bin/bash
chown www-data:www-data /app -R
if [ "$ALLOW_OVERRIDE" = "**False**" ]; then
unset ALLOW_OVERRIDE
else
sed -i "s/AllowOverride None/AllowOverride All/g" /etc/apache2/apache2.conf
a2enmod rewrite
fi
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND
<html>
<head>
<title>Hello world!</title>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
<style>
body {
background-color: white;
text-align: center;
padding: 50px;
font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}
#logo {
margin-bottom: 40px;
}
</style>
</head>
<body>
<h1><?php echo "Hello ".($_ENV["NAME"]?$_ENV["NAME"]:"world")."!"; ?></h1>
<?php if($_ENV["HOSTNAME"]) {?><h3>My hostname is <?php echo $_ENV["HOSTNAME"]; ?></h3><?php } ?>
</body>
</html>
FROM debian:latest
MAINTAINER antoinebarbare@gmail.com
RUN apt-get update -y
RUN apt-get install -y vim \
locate \
git \
curl \
wget
ENV TERM xterm
CMD /bin/bash
FROM tx-debian:latest
MAINTAINER antoinebarbare@gmail.com
#Installation de NodeJS + NPM
RUN echo "deb http://ftp.us.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list
RUN DEBIAN_FRONTEND=noninteactive apt-get -y update
RUN apt-get install -y curl nodejs-legacy
RUN curl -L --insecure -O https://www.npmjs.org/install.sh \
&& /bin/bash install.sh \
RUN apt-get install gzip git curl python libssl-dev pkg-config build-essential
#Installation Etherpad
WORKDIR /opt
RUN git clone 'git://github.com/ether/etherpad-lite.git'
WORKDIR /opt/etherpad-lite
RUN git checkout develop && rm -Rf src/node_modules
ADD add/settings.json /opt/etherpad-lite/settings.json
#First starting of services
RUN /opt/etherpad-lite/bin/installDeps.sh
EXPOSE 80
CMD /opt/etherpad-lite/bin/run.sh --root
/*
This file must be valid JSON. But comments are allowed
Please edit settings.json, not settings.json.template
*/
{
// Name your instance!
"title": "Etherpad",
// favicon default name
// alternatively, set up a fully specified Url to your own favicon
"favicon": "favicon.ico",
//IP and port which etherpad should bind at
"ip": "0.0.0.0",
"port" : 80,
/*
// Node native SSL support
// this is disabled by default
//
// make sure to have the minimum and correct file access permissions set
// so that the Etherpad server can access them
"ssl" : {
"key" : "/path-to-your/epl-server.key",
"cert" : "/path-to-your/epl-server.crt",
"ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"]
},
*/
//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
//"dbType" : "mysql",
//the database specific settings
//"dbSettings" : {
// "filename" : "var/dirty.db"
// },
// An Example of MySQL Configuration
"dbType" : "mysql",
"dbSettings" : {
"user" : "root",
"host" : "mysql",
"password": "root",
"database": "etherpad"
},
//the default text of a pad
"defaultPadText" : "Antoine Pad\n",
/* Default Pad behavior, users can override by changing */
"padOptions": {
"noColors": false,
"showControls": true,
"showChat": true,
"showLineNumbers": true,
"useMonospaceFont": false,
"userName": false,
"userColor": true,
"rtl": false,
"alwaysShowChat": false,
"chatAndUsers": false,
"lang": "fr"
},
/* Should we suppress errors from being visible in the default Pad Text? */
"suppressErrorsInPadText" : false,
/* Users must have a session to access pads. This effectively allows only group pads to be accessed. */
"requireSession" : false,
/* Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. */
"editOnly" : false,
/* Users, who have a valid session, automatically get granted access to password protected pads */
"sessionNoPassword" : false,
/* if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly,
but makes it impossible to debug the javascript/css */
"minify" : true,
/* How long may clients use served javascript code (in seconds)? Without versioning this
may cause problems during deployment. Set to 0 to disable caching */
"maxAge" : 21600, // 60 * 60 * 6 = 6 hours
/* This is the path to the Abiword executable. Setting it to null, disables abiword.
Abiword is needed to advanced import/export features of pads*/
"abiword" : null,
/* This is the path to the Tidy executable. Setting it to null, disables Tidy.
Tidy is used to improve the quality of exported pads*/
"tidyHtml" : null,
/* Allow import of file types other than the supported types: txt, doc, docx, rtf, odt, html & htm */
"allowUnknownFileEnds" : true,
/* This setting is used if you require authentication of all users.
Note: /admin always requires authentication. */
"requireAuthentication" : false,
/* Require authorization by a module, or a user with is_admin set, see below. */
"requireAuthorization" : false,
/*when you use NginX or another proxy/ load-balancer set this to true*/
"trustProxy" : false,
/* Privacy: disable IP logging */
"disableIPlogging" : false,
/* Users for basic authentication. is_admin = true gives access to /admin.
If you do not uncomment this, /admin will not be available! */
"users": {
"admin": {
"password": "admin",
"is_admin": true
}
},
// restrict socket.io transport methods
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
// Allow Load Testing tools to hit the Etherpad Instance. Warning this will disable security on the instance.
"loadTest": false,
/* The toolbar buttons configuration.
"toolbar": {
"left": [
["bold", "italic", "underline", "strikethrough"],
["orderedlist", "unorderedlist", "indent", "outdent"],
["undo", "redo"],
["clearauthorship"]
],
"right": [
["importexport", "timeslider", "savedrevision"],
["settings", "embed"],
["showusers"]
],
"timeslider": [
["timeslider_export", "timeslider_returnToPad"]
]
},
*/
/* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
"loglevel": "INFO",
//Logging configuration. See log4js documentation for further information
// https://github.com/nomiddlename/log4js-node
// You can add as many appenders as you want here:
"logconfig" :
{ "appenders": [
{ "type": "console"
//, "category": "access"// only logs pad access
}
/*
, { "type": "file"
, "filename": "pad.log"
, "maxLogSize": 1024
, "backups": 3 // how many log files there're gonna be at max
//, "category": "test" // only log a specific category
}*/
/*
, { "type": "logLevelFilter"
, "level": "warn" // filters out all log messages that have a lower level than "error"
, "appender":
{ Use whatever appender you want here }
}*/
/*
, { "type": "logLevelFilter"
, "level": "error" // filters out all log messages that have a lower level than "error"
, "appender":
{ "type": "smtp"
, "subject": "An error occured in your EPL instance!"
, "recipients": "bar@blurdybloop.com, baz@blurdybloop.com"
, "sendInterval": 60*5 // in secs -- will buffer log messages; set to 0 to send a mail for every message
, "transport": "SMTP", "SMTP": { // see https://github.com/andris9/Nodemailer#possible-transport-methods
"host": "smtp.example.com", "port": 465,
"secureConnection": true,
"auth": {
"user": "foo@example.com",
"pass": "bar_foo"
}
}
}
}*/
]
}
}
FROM tx-apache
MAINTAINER antoinebarbare@gmail.com
# Install base packages
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
php5-sqlite \
unzip \
wget
WORKDIR /var/www/html
RUN rm -Rf *
RUN wget http://kanboard.net/kanboard-latest.zip
RUN unzip kanboard-latest.zip
RUN mv kanboard kanboard2
RUN cp -R kanboard2/* .
RUN rm -Rf kanboard2 kanboard-latest.zip
RUN chown -R www-data:www-data *
VOLUME /var/www/html/data
CMD ["/run.sh"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment