-
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit dd6b467
Showing
7 changed files
with
1,194 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
target |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# Makefile | ||
# | ||
# @since 2016-09-23 | ||
# @category Docker | ||
# @author Nicola Asuni <[email protected]> | ||
# @copyright 2015-2015 Nicola Asuni - Tecnick.com LTD | ||
# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) | ||
# @link https://github.com/tecnickcom/alldev | ||
# | ||
# This file is part of alldev project. | ||
# ---------------------------------------------------------------------------------------------------------------------- | ||
|
||
# List special make targets that are not associated with files | ||
.PHONY: help all build upload | ||
|
||
# Project owner | ||
OWNER=tecnickcom | ||
|
||
# Project vendor | ||
VENDOR=${OWNER} | ||
|
||
# Project name | ||
PROJECT=alldev | ||
|
||
# Project version | ||
VERSION=$(shell cat VERSION) | ||
|
||
# Project release number (packaging build number) | ||
RELEASE=$(shell cat RELEASE) | ||
|
||
# Current directory | ||
CURRENTDIR=$(shell pwd) | ||
|
||
# --- MAKE TARGETS --- | ||
|
||
# Display general help about this command | ||
help: | ||
@echo "" | ||
@echo "${PROJECT} Makefile." | ||
@echo "The following commands are available:" | ||
@echo "" | ||
@echo " make build : Build the Docker image" | ||
@echo " make upload : Upload the docker image (only with the right credentials)" | ||
@echo "" | ||
|
||
# Alias for help target | ||
all: help | ||
|
||
# Build the Docker image | ||
build: | ||
docker build -t ${OWNER}/${PROJECT}:latest ./src/ | ||
docker tag ${OWNER}/${PROJECT}:latest ${OWNER}/${PROJECT}:${VERSION}-${RELEASE} | ||
|
||
# Upload docker image | ||
upload: | ||
docker push ${OWNER}/${PROJECT}:latest | ||
docker push ${OWNER}/${PROJECT}:$(cat VERSION)-$(cat RELEASE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
# alldev | ||
|
||
*Dockerfile to build a generic development environment based on Ubuntu Linux* | ||
|
||
[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=GBP&[email protected]&item_name=donation%20for%20alldev%20project) | ||
*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=GBP&[email protected]&item_name=donation%20for%20alldev%20project)* | ||
|
||
* **category** Docker | ||
* **author** Nicola Asuni <[email protected]> | ||
* **copyright** 2016-2016 Nicola Asuni - Tecnick.com LTD | ||
* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) | ||
* **link** https://github.com/tecnickcom/alldev | ||
|
||
## Description | ||
|
||
Source configuration file to build a Docker container image with a generic development environment. | ||
|
||
## Requirements | ||
|
||
This script requires Docker (https://www.docker.com/). | ||
To install Docker in a debian or Ubuntu OS: | ||
``` | ||
sudo apt-get install docker docker.io | ||
``` | ||
Add your user to the "docker" group: | ||
``` | ||
sudo groupadd docker | ||
sudo gpasswd -a <YOURUSER> docker | ||
sudo service docker restart | ||
``` | ||
|
||
|
||
## Getting started | ||
|
||
This project include a Makefile that allows you to automate common operations. | ||
To see all available options: | ||
``` | ||
make help | ||
``` | ||
To build the project | ||
``` | ||
make build | ||
``` | ||
|
||
## Useful Docker commands | ||
|
||
To manually create the container you can execute: | ||
``` | ||
docker build --tag="tecnickcom/alldev" . | ||
``` | ||
|
||
To log into the newly created container: | ||
``` | ||
docker run -t -i tecnickcom/alldev /bin/bash | ||
`` | ||
To get the container ID: | ||
``` | ||
CONTAINER_ID=`docker ps -a | grep tecnickcom/alldev | cut -c1-12` | ||
``` | ||
To delete the newly created docker container: | ||
``` | ||
docker rm -f $CONTAINER_ID | ||
``` | ||
To delete the docker image: | ||
``` | ||
docker rmi -f tecnickcom/alldev | ||
``` | ||
To delete all containers | ||
``` | ||
docker rm $(docker ps -a -q) | ||
``` | ||
To delete all images | ||
``` | ||
docker rmi $(docker images -q) | ||
``` | ||
## Developer(s) Contact | ||
* Nicola Asuni <[email protected]> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
1.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,188 @@ | ||
# Dockerfile | ||
# | ||
# Development environment based on Ubuntu 16.04 (Xenial) | ||
# | ||
# @author Nicola Asuni <[email protected]> | ||
# @copyright 2016-2016 Nicola Asuni - Tecnick.com LTD | ||
# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) | ||
# @link https://github.com/tecnickcom/alldev | ||
# ------------------------------------------------------------------------------ | ||
|
||
FROM ubuntu:xenial | ||
MAINTAINER [email protected] | ||
|
||
ENV DEBIAN_FRONTEND noninteractive | ||
ENV TERM linux | ||
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections | ||
ENV HOME /root | ||
ENV DISPLAY :0 | ||
ENV GOPATH=/root | ||
ENV PATH=$GOPATH/bin:$PATH | ||
|
||
# Configure SSH | ||
RUN mkdir -p /root/.ssh && echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config | ||
|
||
# Add i386 architecture | ||
RUN dpkg --add-architecture i386 | ||
|
||
# Configure GO | ||
RUN mkdir -p /root/bin && \ | ||
mkdir -p /root/pkg && \ | ||
mkdir -p /root/src && \ | ||
echo 'export GOPATH=/root' >> /root/.profile && \ | ||
echo 'export PATH=$GOPATH/bin:$PATH' >> /root/.profile | ||
|
||
# Add repositories and update | ||
RUN apt-get update && apt-get -y dist-upgrade && \ | ||
apt-get install -y apt-utils software-properties-common python-software-properties && \ | ||
apt-add-repository universe && \ | ||
apt-add-repository multiverse && \ | ||
apt-get update | ||
|
||
# install development packages and debugging tools | ||
RUN apt-get install -y \ | ||
alien \ | ||
apache2 \ | ||
astyle \ | ||
autoconf \ | ||
autotools-dev \ | ||
binfmt-support \ | ||
binutils-mingw-w64 \ | ||
build-essential \ | ||
cmake \ | ||
curl \ | ||
debhelper \ | ||
devscripts \ | ||
dh-golang \ | ||
dh-make \ | ||
dos2unix \ | ||
doxygen \ | ||
doxygen-latex \ | ||
fabric \ | ||
fastjar \ | ||
flawfinder \ | ||
g++ \ | ||
gcc \ | ||
gdb \ | ||
ghostscript \ | ||
git \ | ||
g++-multilib \ | ||
golang \ | ||
golang-golang-x-tools \ | ||
gsfonts \ | ||
imagemagick \ | ||
lcov \ | ||
libboost-all-dev \ | ||
libc6 \ | ||
libc6-dev \ | ||
libc6-dev-i386 \ | ||
libffi-dev \ | ||
libglib2.0-0 \ | ||
libglib2.0-dev \ | ||
libssl1.0.0 \ | ||
libssl-dev \ | ||
libwine-development \ | ||
libxml2 \ | ||
libxml2-dev \ | ||
libxmlsec1 \ | ||
libxmlsec1-dev \ | ||
libxmlsec1-openssl \ | ||
libxslt1.1 \ | ||
libxslt1-dev \ | ||
lsof \ | ||
make \ | ||
mingw-w64 \ | ||
mingw-w64-i686-dev \ | ||
mingw-w64-tools \ | ||
mingw-w64-x86-64-dev \ | ||
mongodb \ | ||
mysql-client \ | ||
mysql-server \ | ||
mysql-utilities \ | ||
nano \ | ||
npm \ | ||
openssh-client \ | ||
openssh-server \ | ||
openssl \ | ||
parallel \ | ||
pbuilder \ | ||
perl \ | ||
php \ | ||
php-all-dev \ | ||
php-amqp \ | ||
php-apcu \ | ||
php-bcmath \ | ||
php-bz2 \ | ||
php-cgi \ | ||
php-cli \ | ||
php-codesniffer \ | ||
php-common \ | ||
php-curl \ | ||
php-db \ | ||
php-dev \ | ||
php-gd \ | ||
php-igbinary \ | ||
php-imagick \ | ||
php-intl \ | ||
php-json \ | ||
php-mbstring \ | ||
php-memcache \ | ||
php-memcached \ | ||
php-mongodb \ | ||
php-msgpack \ | ||
php-mysql \ | ||
php-pear \ | ||
php-sqlite3 \ | ||
php-xdebug \ | ||
php-xml \ | ||
pkg-config \ | ||
postgresql-contrib-9.5 \ | ||
pyflakes \ | ||
pylint \ | ||
python \ | ||
python-all \ | ||
python-all-dev \ | ||
python-coverage \ | ||
python-dev \ | ||
python-lxml \ | ||
python-nose \ | ||
python-pip \ | ||
python-setuptools \ | ||
redis-server \ | ||
redis-tools \ | ||
rpm \ | ||
rsync \ | ||
ruby-all-dev \ | ||
screen \ | ||
ssh \ | ||
strace \ | ||
swig \ | ||
texlive-base \ | ||
ubuntu-restricted-addons \ | ||
ubuntu-restricted-extras \ | ||
upx-ucl \ | ||
valgrind \ | ||
vim \ | ||
wget \ | ||
wine \ | ||
wine64-development-tools \ | ||
winetricks \ | ||
zbar-tools \ | ||
zlib1g \ | ||
zlib1g-dev | ||
|
||
# Install etra python dependencies | ||
RUN pip install --upgrade pip && \ | ||
pip install cffi && \ | ||
pip install --upgrade autopep8 | ||
|
||
# Install extra npm dependencies | ||
RUN pip install fabric && \ | ||
cd /usr/bin && ln -s nodejs node && \ | ||
npm install --global grunt-cli && \ | ||
npm install --global gulp-cli && \ | ||
npm install --global jquery && \ | ||
npm install --global uglify-js && \ | ||
npm install --global uglifyjs && \ | ||
npm install --global csso && \ | ||
npm install --global html-minifier |