| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- FROM ubuntu:latest
- LABEL maintainer="Jeremy Zheng"
- ENV DEBIAN_FRONTEND noninteractive
- RUN apt update
- RUN apt -y upgrade
- RUN apt -y install apt-transport-https software-properties-common curl wget gnupg
- RUN apt -y install zsh git locales rsync openssh-client sshpass \
- vim sudo tzdata pwgen curl zip unzip tree screen tmux \
- build-essential \
- php-cli php-fpm \
- php-xml php-json php-imap php-intl \
- php-mbstring php-bz2 php-zip php-curl \
- php-gd php-imagick \
- php-mysql php-pgsql php-sqlite3 php-redis
- RUN apt -y autoremove
- RUN apt -y clean
- RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
- RUN locale-gen
- RUN update-locale LANG=en_US.UTF-8
- RUN update-alternatives --set editor /usr/bin/vim.basic
- # deploy
- RUN useradd -m deploy -s /bin/zsh
- RUN passwd -l deploy
- RUN echo 'deploy ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/101-deploy
- USER deploy
- RUN mkdir -p $HOME/downloads $HOME/local
- # https://github.com/ohmyzsh/ohmyzsh
- RUN git clone https://github.com/ohmyzsh/ohmyzsh.git $HOME/.oh-my-zsh
- RUN cp $HOME/.oh-my-zsh/templates/zshrc.zsh-template $HOME/.zshrc
- RUN echo 'source $HOME/.profile' >> $HOME/.zshrc
- RUN echo 'term screen-256color' >> $HOME/.screenrc
- RUN echo 'startup_message off' >> $HOME/.screenrc
- RUN echo "defscrollback 10240" >> $HOME/.screenrc
- # https://github.com/nvm-sh/nvm
- RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | sh
- RUN sh -c ". $HOME/.profile \
- && nvm install node"
- RUN sh -c ". $HOME/.profile \
- && npm i yarn -g"
- RUN echo 'export PATH=$HOME/.yarn/bin:$PATH' >> $HOME/.profile
- RUN mkdir -p $HOME/.local/bin
- RUN wget https://getcomposer.org/download/latest-stable/composer.phar -O $HOME/.local/bin/composer
- RUN chmod +x $HOME/.local/bin/composer
- VOLUME /workspace
- WORKDIR /workspace
- CMD ["/bin/zsh", "-l"]
|