mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-15 05:41:51 +00:00

- Use a single Dockerfile for all Zeppelin services - Add a Dockerfile in project root that can be used by app hosting services - Provide a standalone and lightweight prod setup - Standalone is the same as the old setup, with mysql+nginx - Lightweight only runs bot+backend+dash, no mysql/nginx - Remove mounted mysql data folders for dev and prod - This resolves permission issues caused by the mount - The mysql service uses a regular named volume now - Simplify .env options and clearly separate different prod setups - Remove update.sh - Different setups require different update procedures, so a common update.sh no longer works
25 lines
761 B
Docker
25 lines
761 B
Docker
FROM ubuntu:22.04
|
|
|
|
ARG DEVELOPMENT_UID
|
|
ARG DEVELOPMENT_SSH_PASSWORD
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ=UTC
|
|
|
|
# Set up some core packages
|
|
RUN apt-get update
|
|
RUN apt-get install -y sudo curl software-properties-common
|
|
|
|
RUN add-apt-repository ppa:git-core/ppa && apt-get update && apt-get install -y git
|
|
|
|
# Set up SSH access
|
|
RUN apt-get install -y openssh-server iptables
|
|
RUN mkdir /var/run/sshd
|
|
RUN useradd -rm -d /home/ubuntu -s /bin/bash -g root -G sudo -u $DEVELOPMENT_UID ubuntu
|
|
RUN echo "ubuntu:${DEVELOPMENT_SSH_PASSWORD}" | chpasswd
|
|
|
|
# Install Node.js 20 and packages needed to build native packages
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
|
RUN apt-get install -y nodejs gcc g++ make python3
|
|
|
|
CMD ["/usr/sbin/sshd", "-D", "-e"]
|