Reorganize some files and import some others
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,3 +5,4 @@
|
||||
maestro.yaml
|
||||
setup
|
||||
README.md
|
||||
/build/Dockerfile
|
||||
|
||||
@@ -1 +1 @@
|
||||
make -f $DOCKER_HOME/images/$1/Makefile build
|
||||
make -f $DOCKER_HOME/images/$1.mk build
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
RANDOM = $(shell bash -c 'echo $$RANDOM')
|
||||
HOME = $(DOCKER_HOME)
|
||||
BASE = $(HOME)/build
|
||||
DIR = $(HOME)/images/$(NAME)
|
||||
FILE = $(DIR)/Dockerfile
|
||||
FILE = $(BASE)/Dockerfile
|
||||
FROM = ubuntu:trusty
|
||||
PORT = 8001
|
||||
MODE = minimal
|
||||
ARGS = --no-cache --rm=true
|
||||
ARGS = --rm=true #--no-cache
|
||||
|
||||
include $(wildcard $(HOME)/build/make/*.mk)
|
||||
|
||||
@@ -17,27 +17,35 @@ define execute
|
||||
$(call download,-O -,$(1),| bash)
|
||||
endef
|
||||
|
||||
define script
|
||||
$(call execute,scripts/$(1).sh)
|
||||
endef
|
||||
|
||||
define boot
|
||||
$(call download,-O /opt/init.d/$(1)_$(2),boot/$(2).sh)
|
||||
@echo 'RUN chmod +x /opt/init.d/$(1)_$(2)' >> ${FILE}
|
||||
endef
|
||||
|
||||
define runit
|
||||
@echo 'RUN mkdir -p /etc/service/$(1)' >> ${FILE}
|
||||
$(call download,-O /etc/service/$(1)/run,runit/$(1))
|
||||
@echo 'RUN chmod +x /etc/service/$(1)/run' >> ${FILE}
|
||||
endef
|
||||
|
||||
define script
|
||||
$(call execute,scripts/$(1).sh)
|
||||
endef
|
||||
|
||||
define script_force
|
||||
$(call execute,scripts/$(1).sh?random=$(RANDOM))
|
||||
endef
|
||||
|
||||
all: build bin service clean
|
||||
|
||||
build: prepare
|
||||
$(call script,cleanup)
|
||||
@echo 'RUN chmod +x /opt/init.d/*' >> ${FILE}
|
||||
@echo 'CMD ["/opt/init"]' >> ${FILE}
|
||||
@$(shell cd ${BASE} && python -m SimpleHTTPServer $(PORT) > /dev/null &)
|
||||
@docker build -t $(NAME):$(VERSION) $(ARGS) ${DIR}
|
||||
@kill -9 $(lsof -i tcp:8001 -t)
|
||||
@sleep 2
|
||||
@docker build -t $(NAME):$(VERSION) $(ARGS) ${BASE}
|
||||
@kill -9 $(lsof -i tcp:$(PORT) -t)
|
||||
|
||||
prepare:
|
||||
@echo FROM $(FROM) > ${FILE}
|
||||
@@ -46,8 +54,9 @@ prepare:
|
||||
@echo ENV HOST_ADDR $(HOST_ADDR) >> ${FILE}
|
||||
@echo ENV HOST_PORT $(PORT) >> ${FILE}
|
||||
@echo 'RUN apt-get install -y wget' >> ${FILE}
|
||||
$(call download,-P /build,config,)
|
||||
$(call download,-P /build,init)
|
||||
$(call download,-P /build,config)
|
||||
$(call download,-P /opt,init)
|
||||
@echo 'RUN chmod +x /opt/init' >> ${FILE}
|
||||
$(call script,prepare)
|
||||
|
||||
service:
|
||||
|
||||
@@ -11,4 +11,9 @@ apt_get_install_permanent() {
|
||||
apt_get_install_temporary() {
|
||||
echo $@ >> /build/temporary
|
||||
$apt_get_install "$@"
|
||||
}
|
||||
|
||||
export_env() {
|
||||
export $1="$2"
|
||||
echo -n $2 > /etc/container_environment/$1
|
||||
}
|
||||
2
build/make/lighttpd-php.mk
Normal file
2
build/make/lighttpd-php.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
lighttpd-php: php lighttpd
|
||||
$(call script_force,$@)
|
||||
3
build/make/lighttpd.mk
Normal file
3
build/make/lighttpd.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
lighttpd:
|
||||
$(call script_force,$@)
|
||||
$(call runit,$@)
|
||||
3
build/make/mysql.mk
Normal file
3
build/make/mysql.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
mysql:
|
||||
$(call script_force,$@)
|
||||
$(call runit,$@)
|
||||
2
build/make/php.mk
Normal file
2
build/make/php.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
php:
|
||||
$(call script_force,$@)
|
||||
7
build/runit/lighttpd
Normal file
7
build/runit/lighttpd
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
mkdir -p `dirname $LIGHTTPD_LOG` $LIGHTTPD_DOMAINS
|
||||
chown www-data:www-data `dirname $LIGHTTPD_LOG`
|
||||
if [[ ! -e $LIGHTTPD_DOMAINS ]]; then
|
||||
touch $LIGHTTPD_DOMAINS/empty.conf
|
||||
fi
|
||||
/usr/sbin/lighttpd -D -f $LIGHTTPD_CONFIG
|
||||
@@ -13,6 +13,6 @@ if [[ -n "$MYSQL_SETUP" ]]; then
|
||||
until [[ -n $(netstat -an | grep 3306) ]]; do
|
||||
sleep 1
|
||||
done
|
||||
mysqladmin -u root password kreeft
|
||||
mysqladmin -u root password dummy
|
||||
fg
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#!/bin/sh
|
||||
echo "$HOST_ADDR host" >> /tmp/hosts
|
||||
mkdir -p `dirname $REDIS_LOG` $REDIS_DATA
|
||||
sysctl vm.overcommit_memory=1
|
||||
/usr/bin/redis-server $REDIS_CONFIG
|
||||
|
||||
@@ -5,7 +5,7 @@ set -x
|
||||
|
||||
## Remove temporary packages for minimal builds
|
||||
if [ $MODE == "minimal" ]; then
|
||||
cat /build/temporary | xargs apt-get -y autoremove
|
||||
cat /build/temporary | xargs apt-get -y --purge autoremove
|
||||
fi
|
||||
|
||||
## Clean apt files
|
||||
|
||||
@@ -9,5 +9,11 @@ mkdir -p $LD_LIBRARY_PATH
|
||||
cp /lib/x86_64-linux-gnu/libnss_files.so.2 $LD_LIBRARY_PATH
|
||||
sed -i 's,/etc/hosts,/tmp/hosts,' $LD_LIBRARY_PATH/libnss_files.so.2
|
||||
|
||||
## Other commands
|
||||
# ENV LD_LIBRARY_PATH /root/lib
|
||||
# RUN mkdir $LD_LIBRARY_PATH
|
||||
# RUN cp /lib/x86_64-linux-gnu/libnss_files.so.2 $LD_LIBRARY_PATH
|
||||
# RUN perl -pi -e 's:/etc/hosts:/tmp/hosts:g' $LD_LIBRARY_PATH/libnss_files.so.2
|
||||
|
||||
## Environment variable
|
||||
echo -n $LD_LIBRARY_PATH > /etc/container_environment/LD_LIBRARY_PATH
|
||||
8
build/scripts/lighttpd-php.sh
Normal file
8
build/scripts/lighttpd-php.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
source /build/config
|
||||
set -x
|
||||
|
||||
## Enable configuration PHP in Lighttpd
|
||||
ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/10-fastcgi.conf
|
||||
ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/15-fastcgi-php.conf
|
||||
18
build/scripts/lighttpd.sh
Normal file
18
build/scripts/lighttpd.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
source /build/config
|
||||
set -x
|
||||
|
||||
## Lighthttpd
|
||||
apt_get_install_permanent lighttpd
|
||||
|
||||
## Environment
|
||||
export_env LIGHTTPD_CONFIG /etc/lighttpd/lighttpd.conf
|
||||
export_env LIGHTTPD_DOMAINS /host/etc/lighttpd
|
||||
export_env LIGHTTPD_LOG /host/var/log/lighttpd/error.log
|
||||
export_env LIGHTTPD_DATA /host/var/www/global
|
||||
|
||||
## Configuration
|
||||
sed -i "s,^\(server.errorlog\s*=\s*\).*$,\1\"$LIGHTTPD_LOG\"," $LIGHTTPD_CONFIG
|
||||
sed -i "s,^\(server.document-root\s*=\s*\).*$,\1\"$LIGHTTPD_DATA\"," $LIGHTTPD_CONFIG
|
||||
echo "include_shell \"cat $LIGHTTPD_DOMAINS/*.conf\"" >> $LIGHTTPD_CONFIG
|
||||
19
build/scripts/mysql.sh
Normal file
19
build/scripts/mysql.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
source /build/config
|
||||
set -x
|
||||
|
||||
## MySQL
|
||||
debconf-set-selections <<< 'mysql-server mysql-server/root_password password dummy'
|
||||
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password dummy'
|
||||
apt_get_install_permanent mysql-server
|
||||
|
||||
## Environment
|
||||
export_env MYSQL_CONFIG /etc/mysql/my.cnf
|
||||
export_env MYSQL_LOG /host/var/log/mysql/error.log
|
||||
export_env MYSQL_DATA /host/var/lib/mysql
|
||||
|
||||
## Configuration
|
||||
sed -i "s,^\(log_error\s*=\s*\).*$,\1$MYSQL_LOG," $MYSQL_CONFIG
|
||||
sed -i "s,^\(datadir\s*=\s*\).*$,\1$MYSQL_DATA," $MYSQL_CONFIG
|
||||
sed -i "s,^\(bind-address\s*=\s*\).*$,\10.0.0.0," $MYSQL_CONFIG
|
||||
27
build/scripts/php.sh
Normal file
27
build/scripts/php.sh
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
source /build/config
|
||||
set -x
|
||||
|
||||
## Environment
|
||||
export_env PHP_VERSION 5.6.4
|
||||
export_env PHP_CONFIG /usr/local/lib/php.ini
|
||||
export_env PHP_TIMEZONE Europe/Amsterdam
|
||||
|
||||
## PHP
|
||||
apt_get_install_temporary gcc make
|
||||
cd /opt
|
||||
#wget http://ftp.us.debian.org/debian/pool/main/l/linux/linux-libc-dev_3.2.54-2_amd64.deb
|
||||
#dpkg -i linux-libc-dev_3.2.54-2_amd64.deb
|
||||
apt_get_install_permanent libxml2-dev libcurl4-openssl-dev libbz2-dev libjpeg-dev libpng12-dev libmcrypt-dev
|
||||
wget http://uk1.php.net/get/php-$PHP_VERSION.tar.gz/from/this/mirror -O php-$PHP_VERSION.tar.gz && \
|
||||
tar xzf php-$PHP_VERSION.tar.gz && \
|
||||
cd php-$PHP_VERSION
|
||||
./configure --enable-calendar --enable-bcmath --with-bz2 --enable-ctype --without-gdbm --with-iconv --enable-exif --enable-ftp --with-gettext --enable-mbstring --enable-sockets --with-zlib --enable-soap --enable-zip --with-mhash --with-curl --with-gd --with-mysql --with-jpeg-dir --with-openssl --with-mysqli --with-mcrypt
|
||||
make
|
||||
make install
|
||||
|
||||
## Configuration
|
||||
cp /opt/php-$PHP_VERSION/php.ini-production $PHP_CONFIG
|
||||
sed -i "s,^;\(date\.timezone\s*=\s*\)$,\1 $PHP_TIMEZONE," $PHP_CONFIG
|
||||
ln -s /usr/local/bin/php-cgi /usr/bin/php-cgi
|
||||
@@ -30,11 +30,15 @@ ln -sf /bin/true /sbin/initctl
|
||||
dpkg-divert --local --rename --add /usr/bin/ischroot
|
||||
ln -sf /bin/true /usr/bin/ischroot
|
||||
|
||||
## Fix known issue with user accounts
|
||||
## https://github.com/docker/docker/issues/6345#issuecomment-49245365
|
||||
ln -sf /bin/true /usr/bin/chfn
|
||||
|
||||
## Install HTTPS support for APT
|
||||
apt_get_install_permanent apt-transport-https
|
||||
|
||||
## Upgrade all packages
|
||||
#apt-get dist-upgrade -y --no-install-recommends
|
||||
apt-get dist-upgrade -y --no-install-recommends
|
||||
|
||||
## Fix locale
|
||||
apt_get_install_permanent language-pack-en
|
||||
|
||||
@@ -4,7 +4,8 @@ source /build/config
|
||||
set -x
|
||||
|
||||
## Often used tools
|
||||
apt_get_install_temporary curl python-pip git inetutils-ping telnet
|
||||
apt_get_install_permanent curl python-pip git
|
||||
apt_get_install_temporary inetutils-ping telnet
|
||||
|
||||
## Often used python modules
|
||||
pip install argparse
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
FROM ubuntu:trusty
|
||||
ENV MODE minimal
|
||||
ENV HOST_ADDR 10.0.2.15
|
||||
ENV HOST_PORT 8001
|
||||
RUN apt-get install -y wget
|
||||
RUN wget -q -P /build $HOST_ADDR:$HOST_PORT/config
|
||||
RUN wget -q -P /build $HOST_ADDR:$HOST_PORT/init
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/prepare.sh | bash
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/cron.sh | bash
|
||||
RUN mkdir -p /etc/service/cron
|
||||
RUN wget -q -O /etc/service/cron/run $HOST_ADDR:$HOST_PORT/runit/cron
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/syslog.sh | bash
|
||||
RUN mkdir -p /etc/service/syslog
|
||||
RUN wget -q -O /etc/service/syslog/run $HOST_ADDR:$HOST_PORT/runit/syslog
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/sshd.sh | bash
|
||||
RUN mkdir -p /etc/service/sshd
|
||||
RUN wget -q -O /etc/service/sshd/run $HOST_ADDR:$HOST_PORT/runit/sshd
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/hosts.sh | bash
|
||||
RUN wget -q -O /opt/init.d/01_hosts $HOST_ADDR:$HOST_PORT/boot/hosts.sh
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/init.sh | bash
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/runit.sh | bash
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/logrotate.sh | bash
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/utilities.sh | bash
|
||||
RUN wget -q -O - $HOST_ADDR:$HOST_PORT/scripts/cleanup.sh | bash
|
||||
CMD ["/opt/init"]
|
||||
@@ -1,19 +0,0 @@
|
||||
ARGS="-v /root/.config/pulse:/root/.config/pulse"
|
||||
DIR=`dirname $0`
|
||||
DIR=`readlink -e $DIR`
|
||||
BASE=`basename $DIR`
|
||||
IFS='/' read -ra ADDR <<< "$DIR"
|
||||
CONTAINER=${ADDR[-2]}
|
||||
while : ; do
|
||||
ID=`docker ps --no-trunc | grep $CONTAINER: | cut -d' ' -f1`
|
||||
if [ -n "$ID" ]; then
|
||||
break
|
||||
fi
|
||||
if [ ! -n "$STARTED" ]; then
|
||||
echo "Starting container."
|
||||
/opt/docker/bin/run $CONTAINER &
|
||||
STARTED=yes
|
||||
sleep 10
|
||||
fi
|
||||
done
|
||||
/opt/docker/bin/ssh $CONTAINER $1 "source .profile; /opt/$CONTAINER"
|
||||
@@ -1,7 +0,0 @@
|
||||
ARGS=""
|
||||
DIR=`dirname $0`
|
||||
DIR=`readlink -e $DIR`
|
||||
BASE=`basename $DIR`
|
||||
IFS='/' read -ra ADDR <<< "$DIR"
|
||||
CONTAINER=${ADDR[-2]}
|
||||
/opt/docker/bin/run -t $CONTAINER "$ARGS" $1 "$2"
|
||||
@@ -1,24 +0,0 @@
|
||||
ARGS=""
|
||||
DIR=`dirname $0`
|
||||
DIR=`readlink -e $DIR`
|
||||
BASE=`basename $DIR`
|
||||
IFS='/' read -ra ADDR <<< "$DIR"
|
||||
CONTAINER=${ADDR[-2]}
|
||||
ID=`docker ps --no-trunc | grep $CONTAINER: | cut -d' ' -f1`
|
||||
if [ -n "$ID" ]; then
|
||||
IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ID`
|
||||
COMMAND="ssh -X -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i id_rsa $ARGS root@$IP"
|
||||
if [ ! -e id_rsa ]; then
|
||||
docker cp $ID:/opt/id_rsa .
|
||||
fi
|
||||
if [ ! -z "$1" ] && [ "$1" == "-l" ]; then
|
||||
DISPLAY=:0
|
||||
chmod 0666 id_rsa
|
||||
su user -c "$COMMAND \"$2\""
|
||||
else
|
||||
chmod 0600 id_rsa
|
||||
eval "$COMMAND \"$1\""
|
||||
fi
|
||||
else
|
||||
echo "Container is not running."
|
||||
fi
|
||||
@@ -1,41 +0,0 @@
|
||||
FROM ubuntu:precise
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y wget gcc make
|
||||
|
||||
RUN wget http://ftp.us.debian.org/debian/pool/main/l/linux/linux-libc-dev_3.2.54-2_amd64.deb
|
||||
RUN dpkg -i linux-libc-dev_3.2.54-2_amd64.deb
|
||||
|
||||
RUN apt-get install -y libxml2-dev libcurl4-openssl-dev libbz2-dev libjpeg-dev libpng12-dev libmcrypt-dev
|
||||
|
||||
ENV PHP_VERSION 5.5.9
|
||||
|
||||
RUN cd /opt && \
|
||||
wget http://uk1.php.net/get/php-$PHP_VERSION.tar.gz/from/this/mirror -O php-$PHP_VERSION.tar.gz && \
|
||||
tar xzf php-$PHP_VERSION.tar.gz && \
|
||||
cd php-$PHP_VERSION && \
|
||||
./configure --enable-calendar --enable-bcmath --with-bz2 --enable-ctype --without-gdbm --with-iconv --enable-exif --enable-ftp --with-gettext --enable-mbstring --enable-sockets --with-zlib --enable-soap --enable-zip --with-mhash --with-curl --with-gd --with-mysql --with-jpeg-dir --with-openssl --with-mysqli --with-mcrypt && \
|
||||
make && \
|
||||
make install
|
||||
|
||||
#RUN chmod +x /opt/redis-$PHP_VERSION/src/redis-server
|
||||
|
||||
#ENV REDIS_CONFIG /etc/redis/redis-server.conf
|
||||
#ENV REDIS_LOG /host/var/log/redis/redis-server.log
|
||||
#ENV REDIS_DATA /host/var/lib/redis
|
||||
|
||||
#RUN mkdir -p `dirname $REDIS_CONFIG`
|
||||
#RUN cp /opt/redis-$PHP_VERSION/redis.conf $REDIS_CONFIG
|
||||
#RUN sed -i "s,^\(logfile\s*\).*$,\1$REDIS_LOG," $REDIS_CONFIG
|
||||
#RUN sed -i "s,^\(dir\s*\).*$,\1$REDIS_DATA," $REDIS_CONFIG
|
||||
|
||||
VOLUME [ "/host" ]
|
||||
#EXPOSE 80
|
||||
|
||||
ENV LD_LIBRARY_PATH /root/lib
|
||||
RUN mkdir $LD_LIBRARY_PATH
|
||||
RUN cp /lib/x86_64-linux-gnu/libnss_files.so.2 $LD_LIBRARY_PATH
|
||||
RUN perl -pi -e 's:/etc/hosts:/tmp/hosts:g' $LD_LIBRARY_PATH/libnss_files.so.2
|
||||
|
||||
#CMD /host/bin/run
|
||||
CMD top
|
||||
6
images/mysql.mk
Normal file
6
images/mysql.mk
Normal file
@@ -0,0 +1,6 @@
|
||||
include $(DOCKER_HOME)/build/Makefile
|
||||
|
||||
NAME = mysql
|
||||
VERSION = latest
|
||||
|
||||
build: base mysql
|
||||
@@ -1,25 +0,0 @@
|
||||
FROM ubuntu:precise
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y mysql-server
|
||||
|
||||
ENV VERSION stable
|
||||
|
||||
#RUN chmod +x /opt/redis-$VERSION/src/redis-server
|
||||
|
||||
ENV MYSQL_CONFIG /etc/mysql/my.cnf
|
||||
ENV MYSQL_LOG /host/var/log/mysql/error.log
|
||||
ENV MYSQL_DATA /host/var/lib/mysql
|
||||
|
||||
RUN sed -i "s,^\(log_error\s*=\s*\).*$,\1$MYSQL_LOG," $MYSQL_CONFIG
|
||||
RUN sed -i "s,^\(datadir\s*=\s*\).*$,\1$MYSQL_DATA," $MYSQL_CONFIG
|
||||
|
||||
VOLUME [ "/host" ]
|
||||
EXPOSE 3306
|
||||
|
||||
ENV LD_LIBRARY_PATH /root/lib
|
||||
RUN mkdir $LD_LIBRARY_PATH
|
||||
RUN cp /lib/x86_64-linux-gnu/libnss_files.so.2 $LD_LIBRARY_PATH
|
||||
RUN perl -pi -e 's:/etc/hosts:/tmp/hosts:g' $LD_LIBRARY_PATH/libnss_files.so.2
|
||||
|
||||
CMD /host/bin/run
|
||||
8
images/phpmyadmin/config.inc.php
Normal file
8
images/phpmyadmin/config.inc.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
$cfg['blowfish_secret'] = 'a8b7c6d';
|
||||
$cfg['Servers'][1]['auth_type'] = 'cookie';
|
||||
$cfg['Servers'][1]['connect_type'] = 'tcp';
|
||||
$cfg['Servers'][1]['host'] = 'mysql';
|
||||
$cfg['Servers'][1]['compress'] = false;
|
||||
$cfg['Servers'][1]['extension'] = 'mysqli';
|
||||
$cfg['Servers'][1]['AllowNoPassword'] = true;
|
||||
6
images/webserver.mk
Normal file
6
images/webserver.mk
Normal file
@@ -0,0 +1,6 @@
|
||||
include $(DOCKER_HOME)/build/Makefile
|
||||
|
||||
NAME = webserver
|
||||
VERSION = latest
|
||||
|
||||
build: base lighttpd-php
|
||||
Reference in New Issue
Block a user