Compare commits
4 Commits
5713b283ed
...
41114ce60a
Author | SHA1 | Date | |
---|---|---|---|
41114ce60a | |||
a1485030e8 | |||
b8d90f2f8f | |||
c7f2b8e9d2 |
20
.drone.yml
Normal file
20
.drone.yml
Normal file
@ -0,0 +1,20 @@
|
||||
kind: pipeline
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
network_mode: bridge
|
||||
settings:
|
||||
build_args:
|
||||
- UBUNTU_MIRROR_URL=http://ubuntumirror.app.las1.eeqj.de/ubuntu
|
||||
repo: sneak/sandbox
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
from_secret: docker_password
|
||||
tags:
|
||||
- ${DRONE_BRANCH//\//-}-${DRONE_COMMIT_SHA:0:8}
|
||||
- ${DRONE_COMMIT_SHA}
|
||||
- ${DRONE_BRANCH/\//-}
|
||||
- latest
|
19
Dockerfile
19
Dockerfile
@ -1,14 +1,19 @@
|
||||
FROM phusion/baseimage:0.11
|
||||
CMD ["/sbin/my_init"]
|
||||
FROM ubuntu:focal
|
||||
|
||||
ADD ./sources.list /etc/apt/sources.list
|
||||
ARG USERNAME_TO_ADD=user
|
||||
ARG UID_TO_ADD=1000
|
||||
ARG GID_TO_ADD=1000
|
||||
|
||||
ARG UBUNTU_MIRROR_URL=http://us.archive.ubuntu.com/ubuntu
|
||||
|
||||
# setup
|
||||
ADD ./run.sh /tmp/run.sh
|
||||
RUN bash /tmp/run.sh && rm /tmp/run.sh
|
||||
|
||||
# enable ssh
|
||||
RUN rm -f /etc/service/sshd/down
|
||||
|
||||
#cleanup
|
||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
RUN apt-get clean && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/tmp/* \
|
||||
/var/tmp/* \
|
||||
/etc/ssh/ssh_host_*_key
|
||||
|
7
Makefile
7
Makefile
@ -4,9 +4,4 @@ BRANCH := $(shell git branch | sed -n -e 's/^\* \(.*\)/\1/p')
|
||||
default: build
|
||||
|
||||
build:
|
||||
script -q ./build.log docker build --no-cache -t sneak/sandbox .
|
||||
docker tag sneak/sandbox sneak/sandbox:$(YYYYMMDD)
|
||||
|
||||
push:
|
||||
docker push sneak/sandbox
|
||||
docker push sneak/sandbox:$(YYYYMMDD)
|
||||
script -q ./build.log docker build --no-cache -t sneak/sandbox:$(YYYYMMDD) .
|
||||
|
66
run.sh
66
run.sh
@ -5,6 +5,21 @@ set -x
|
||||
set -e
|
||||
exec 1> >(tee -a /var/log/sandboxbuild.log) 2>&1
|
||||
|
||||
MURM="main universe restricted multiverse"
|
||||
M="http://us.archive.ubuntu.com/ubuntu"
|
||||
C="$(lsb_release -cs)"
|
||||
|
||||
if [[ ! -z "$UBUNTU_MIRROR_URL" ]]; then
|
||||
M="$UBUNTU_MIRROR_URL"
|
||||
fi
|
||||
|
||||
cat > /etc/apt/sources.list.new <<EOF
|
||||
deb $M $C $MURM
|
||||
deb $M $C-updates $MURM
|
||||
deb $M $C-backports $MURM
|
||||
deb $M $C-security $MURM
|
||||
EOF
|
||||
|
||||
PKGS="
|
||||
apt-transport-https
|
||||
apt-utils
|
||||
@ -25,6 +40,7 @@ PKGS="
|
||||
default-jre
|
||||
diffstat
|
||||
dnsutils
|
||||
docker.io
|
||||
dos2unix
|
||||
editorconfig
|
||||
ffmpeg
|
||||
@ -44,6 +60,7 @@ PKGS="
|
||||
lcov
|
||||
ldap-auth-client
|
||||
ldap-utils
|
||||
lftp
|
||||
libasound2
|
||||
libatk1.0-0
|
||||
libboost-all-dev
|
||||
@ -77,15 +94,11 @@ PKGS="
|
||||
pbzip2
|
||||
pinentry-curses
|
||||
pkg-config
|
||||
pkg-config
|
||||
psmisc
|
||||
pv
|
||||
pwgen
|
||||
python
|
||||
python3
|
||||
python-dev
|
||||
python3-dev
|
||||
python-pip
|
||||
python3-pip
|
||||
rbenv
|
||||
rsync
|
||||
@ -125,10 +138,38 @@ apt update
|
||||
apt install -y neovim
|
||||
|
||||
mkdir -p /etc/bashrc.d
|
||||
cat >> /etc/skel/.bashrc <<'EOF'
|
||||
mkdir -p /etc/profile.d
|
||||
|
||||
cat >> /etc/bash.bashrc <<'EOF'
|
||||
if ! shopt -oq posix; then
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
elif [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
fi
|
||||
|
||||
for FN in /etc/bashrc.d/*.sh; do
|
||||
source "$FN"
|
||||
done
|
||||
|
||||
if [[ -d "$HOME/.bashrc.d" ]]; then
|
||||
for FN in /etc/bashrc.d/*.sh; do
|
||||
source "$FN"
|
||||
done
|
||||
fi
|
||||
|
||||
if ! shopt -oq posix; then
|
||||
for FN in /etc/profile.d/*.sh; do
|
||||
source "$FN"
|
||||
done
|
||||
|
||||
if [[ -d "$HOME/.profile.d" ]]; then
|
||||
for FN in /etc/profile.d/*.sh; do
|
||||
source "$FN"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
EOF
|
||||
|
||||
################################################################################
|
||||
@ -138,7 +179,9 @@ EOF
|
||||
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
|
||||
cat > /etc/bashrc.d/100.nvm.sh <<'EOF'
|
||||
source /usr/local/nvm/nvm.sh
|
||||
EOF
|
||||
source /etc/bashrc.d/100.nvm.sh
|
||||
|
||||
nvm install node
|
||||
@ -183,7 +226,7 @@ done
|
||||
## install ppss, paralell processing shell script
|
||||
################################################################################
|
||||
cd /usr/local/bin
|
||||
wget https://raw.githubusercontent.com/sneak/ppss/master/ppss
|
||||
wget https://git.eeqj.de/sneak/ppss/raw/branch/master/ppss
|
||||
chmod +x ./ppss
|
||||
|
||||
################################################################################
|
||||
@ -201,8 +244,17 @@ PIP_PKGS="
|
||||
pipenv
|
||||
pylint
|
||||
virtualenv
|
||||
glances
|
||||
"
|
||||
|
||||
for PKG in $PIP_PKGS; do
|
||||
pip3 install $PKG
|
||||
done
|
||||
|
||||
################################################################################
|
||||
## add working user and add to sudo nopassword
|
||||
################################################################################
|
||||
groupadd -g $GID_TO_ADD $USERNAME_TO_ADD
|
||||
useradd -u $UID_TO_ADD -g $GID_TO_ADD -s /bin/bash $USERNAME_TO_ADD
|
||||
usermod -p '*' $USERNAME_TO_ADD
|
||||
echo "$USERNAME_TO_ADD ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||
|
@ -1,4 +0,0 @@
|
||||
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic main universe multiverse restricted
|
||||
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-updates main universe multiverse restricted
|
||||
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-security main universe multiverse restricted
|
||||
deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-backports main universe multiverse restricted
|
Loading…
Reference in New Issue
Block a user