mirror of
https://github.com/makeplane/plane
synced 2025-08-07 19:59:33 +00:00
* base images and action * fix base docker files * aio base image name change * aio action changes * aio base action cleanup * aio file name changes * base dockerfile updated for warning * fixes * action fix * wip * wip * added app build * checking aio app * fixes * fixes * fixes to app images * fix nginx * fix action * fix base * modified dockerfie * dockerfile fix * fix * pg-setup fix * fix dockerfile-app * fix * fix: dockerfile-app * added cache * fix dockerfile * wip * wip * wip * wip * wip * wip * wip * wip * wip * modified base action caching * modified aio-branch action * wip * feature action modified * action modified * test deployment * fix action * flatten branch name, uninstall helm before installing * wip * testing build * test build * action modified * updated action * feature helm deployment fix * removed feature build cache * enabled cache on aio app build * removed aio.sh
74 lines
3.0 KiB
Plaintext
74 lines
3.0 KiB
Plaintext
FROM --platform=$BUILDPLATFORM tonistiigi/binfmt AS binfmt
|
|
|
|
FROM python:3.12-slim
|
|
|
|
# Set environment variables to non-interactive for apt
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV BUILD_TYPE=full
|
|
|
|
SHELL [ "/bin/bash", "-c" ]
|
|
|
|
WORKDIR /app
|
|
|
|
RUN mkdir -p /app/{data,logs} && \
|
|
mkdir -p /app/data/{redis,pg,minio,nginx} && \
|
|
mkdir -p /app/logs/{access,error} && \
|
|
mkdir -p /etc/supervisor/conf.d
|
|
|
|
# Update the package list and install prerequisites
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
gnupg2 curl ca-certificates lsb-release software-properties-common \
|
|
build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
|
libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils \
|
|
tk-dev libffi-dev liblzma-dev supervisor nginx nano vim ncdu \
|
|
sudo lsof net-tools libpq-dev procps gettext
|
|
|
|
# Install Redis 7.2
|
|
RUN echo "deb http://deb.debian.org/debian $(lsb_release -cs)-backports main" > /etc/apt/sources.list.d/backports.list && \
|
|
curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && \
|
|
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" > /etc/apt/sources.list.d/redis.list && \
|
|
apt-get update && \
|
|
apt-get install -y redis-server
|
|
|
|
# Install PostgreSQL 15
|
|
ENV POSTGRES_VERSION=15
|
|
RUN curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /usr/share/keyrings/pgdg-archive-keyring.gpg && \
|
|
echo "deb [signed-by=/usr/share/keyrings/pgdg-archive-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
|
|
apt-get update && \
|
|
apt-get install -y postgresql-$POSTGRES_VERSION postgresql-client-$POSTGRES_VERSION && \
|
|
mkdir -p /var/lib/postgresql/data && \
|
|
chown -R postgres:postgres /var/lib/postgresql
|
|
COPY postgresql.conf /etc/postgresql/postgresql.conf
|
|
RUN sudo -u postgres /usr/lib/postgresql/$POSTGRES_VERSION/bin/initdb -D /var/lib/postgresql/data
|
|
|
|
# Install MinIO
|
|
ARG TARGETARCH
|
|
RUN if [ "$TARGETARCH" = "amd64" ]; then \
|
|
curl -fSl https://dl.min.io/server/minio/release/linux-amd64/minio -o /usr/local/bin/minio; \
|
|
elif [ "$TARGETARCH" = "arm64" ]; then \
|
|
curl -fSl https://dl.min.io/server/minio/release/linux-arm64/minio -o /usr/local/bin/minio; \
|
|
else \
|
|
echo "Unsupported architecture: $TARGETARCH"; exit 1; \
|
|
fi && \
|
|
chmod +x /usr/local/bin/minio
|
|
|
|
# Install Node.js 18
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
|
|
apt-get install -y nodejs && \
|
|
python -m pip install --upgrade pip && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create Supervisor configuration file
|
|
COPY supervisord-full-base /app/supervisord.conf
|
|
COPY nginx.conf /etc/nginx/nginx.conf.template
|
|
COPY env.sh /app/nginx-start.sh
|
|
RUN chmod +x /app/nginx-start.sh
|
|
|
|
# Expose ports for Redis, PostgreSQL, and MinIO
|
|
EXPOSE 6379 5432 9000 80 443
|
|
|
|
# Start Supervisor
|
|
CMD ["/usr/bin/supervisord", "-c", "/app/supervisord.conf"]
|