progress, not working yet

This commit is contained in:
Jeffrey Paul 2019-08-03 16:22:25 -07:00
parent eec711a6b1
commit f9970f8b2f
8 changed files with 115 additions and 88 deletions

View File

@ -1,10 +1,14 @@
FROM ubuntu:18.04
FROM phusion/baseimage:0.11
CMD ["/sbin/my_init"]
ADD ./sources.list /etc/apt/sources.list
RUN echo "#!/bin/sh\nexit 101" > /usr/sbin/policy-rc.d
# setup
ADD ./run.sh /tmp/run.sh
RUN bash /tmp/run.sh && rm /tmp/run.sh
ADD ./my_init /usr/sbin/my_init
RUN chmod +x /usr/sbin/my_init
CMD /usr/sbin/my_init
# enable ssh
RUN rm -f /etc/service/sshd/down
#cleanup
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@ -1,4 +1,5 @@
YYYYMMDD := $(shell date +%Y%m%d)
BRANCH := $(shell git branch | sed -n -e 's/^\* \(.*\)/\1/p')
default: build

View File

@ -1,3 +0,0 @@
#!/bin/bash
docker run -d --name sandbox sneak/sandbox
docker exec -ti sandbox script -q -c "TERM=xterm-color byobu" /dev/null

View File

@ -1,3 +0,0 @@
#!/bin/bash
docker run -d --add-host archive.ubuntu.com:172.17.0.1 --name sandbox sneak/sandbox
docker exec -ti sandbox script -q -c "TERM=xterm-color byobu" /dev/null

View File

@ -1,3 +0,0 @@
#!/bin/bash
docker kill sandbox
docker rm sandbox

10
bin/start-container Normal file
View File

@ -0,0 +1,10 @@
#!/bin/bash
IMAGE="sneak/sandbox:next"
docker run
-v /home/sneak:/home/sneak \
-v /storage/admin:/root \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/.ssh/authorized_keys:/root/.ssh/authorized_keys \
$IMAGE

View File

@ -1,9 +0,0 @@
#!/bin/bash
export > /etc/environment
/usr/sbin/runsvdir-start &
sleep 1
if [[ ! -e /var/log/syslog ]]; then
touch /var/log/syslog
fi
exec tail -qf /var/log/syslog /etc/service/*/log/*.log

160
run.sh
View File

@ -2,55 +2,91 @@
export DEBIAN_FRONTEND=noninteractive
set -x
set -e
exec 1> >(tee -a /var/log/sandboxbuild.log) 2>&1
PKGS="
apt-transport-https
apt-utils
aspell
aspell-en
automake
bash-completion
bc
bind9-host
bonnie++
build-essential
byobu
cmake
command-not-found
curl
daemontools
debmirror
default-jre
diffstat
dnsutils
dos2unix
editorconfig
ffmpeg
fonts-indic
fonts-ipafont-gothic
fonts-ipafont-mincho
fortune
git
gnupg-agent
gnupg2
golang-go
host
imagemagick
iputils-ping
irssi
jq
lcov
ldap-auth-client
ldap-utils
libasound2
libatk1.0-0
libboost-all-dev
libdb++-dev
libgconf-2-4
libgtk-3-0
libjpeg-dev
libnss-mdns
libnss3
libpng-dev
libssl-dev
libtool
libxcursor1
libxml2
libxml2-dev
libxslt1-dev
locales
lsof
mailutils
make
man
man-db
mercurial
mosh
mutt
netcat-openbsd
nmap
nodejs
npm
nscd
openssh-server
pass
pbzip2
pinentry-curses
pkg-config
pkg-config
psmisc
pv
pwgen
python
python3
python-dev
python3-dev
python-pip
python-software-properties
python3-pip
rbenv
rsync
rsyslog
@ -61,62 +97,64 @@ PKGS="
snmp
snmpd
software-properties-common
strace
sudo
tcpdump
telnet
texlive-latex-base
tmux
tree
ttf-wqy-microhei
ttf-wqy-zenhei
vagrant
vim
vim-gtk
wamerican-insane
wget
xterm
zip
"
apt-get update
apt-get -y upgrade
for PKG in $PKGS ; do
apt-get install -y $PKG
done
# install docker
apt-get install -y docker
#apt-get install apt-transport-https ca-certificates
#apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 \
# --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
#echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" > \
# /etc/apt/sources.list.d/docker.list
#apt-get update
#apt-get install docker-engine
# install docker machine (this is gross):
curl -L \
https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-`uname -s`-`uname -m` > \
/usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine
# install docker compose (also gross):
curl -L \
https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > \
/usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
# and completion
curl -L \
https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > \
/etc/bash_completion.d/docker-compose
apt update
apt -y upgrade
apt install -y $PKGS
# install neovim
add-apt-repository ppa:neovim-ppa/unstable
apt-get update
apt-get install neovim
apt update
apt install -y neovim
# install ruby-build for rbenv install
git clone https://github.com/rbenv/ruby-build.git /root/.rbenv/plugins/ruby-build
mkdir -p /etc/bashrc.d
cat >> /etc/skel/.bashrc <<'EOF'
for FN in /etc/bashrc.d/*.sh; do
source "$FN"
done
EOF
# install some rbenv versions
rbenv install 2.3.0
rbenv install jruby-9.0.5.0
################################################################################
## install nvm + node
################################################################################
export NVM_DIR='/usr/local/nvm'
mkdir -p "$NVM_DIR"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
echo 'source /usr/local/nvm/nvm.sh' > /etc/bashrc.d/100.nvm.sh
source /etc/bashrc.d/100.nvm.sh
nvm install stable
################################################################################
## install rbenv + ruby
################################################################################
git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv
cat > /etc/bashrc.d/100.rbenv.sh <<'EOF'
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"
EOF
source /etc/bashrc.d/100.rbenv.sh
rbenv install $(rbenv install -l | grep -v - | tail -1)
#rbenv install 2.6.3
#rbenv install jruby-9.0.5.0
# install some gems
GEMS="
@ -127,29 +165,20 @@ for GEM in $GEMS ; do
gem install -V $GEM
done
# install ppss, paralell processing shell script
################################################################################
## install ppss, paralell processing shell script
################################################################################
cd /usr/local/bin
wget https://raw.githubusercontent.com/sneak/ppss/master/ppss
chmod +x ./ppss
# update npm
npm update -g --loglevel info npm
# install some npm packages
NPM_PKGS="
yarn
"
for PKG in $NPM_PKGS ; do
npm install -g --loglevel info $PKG
done
# upgrade pip and install bare essentials
# update other packages as possible
pip install --upgrade pip
pip install setuptools
pip install pip-review
################################################################################
## upgrade pip and install bare essentials
## update other python packages as possible
################################################################################
pip3 install --upgrade pip
pip3 install setuptools
pip3 install pip-review
pip-review --verbose --auto
# install other python packages
@ -160,11 +189,12 @@ PIP_PKGS="
"
for PKG in $PIP_PKGS; do
pip install $PKG
pip3 install $PKG
done
# cleanup filesystem after build
################################################################################
## cleanup filesystem after build
################################################################################
rm -rf \
/root/.cache \
/var/cache/* \