mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-29 18:26:39 +00:00
54 lines
2.1 KiB
Docker
54 lines
2.1 KiB
Docker
# base
|
|
FROM ubuntu:22.04
|
|
|
|
# set the github runner version
|
|
ARG RUNNER_VERSION="2.306.0"
|
|
|
|
# Get the base image of Node version 18
|
|
FROM node:18
|
|
|
|
# Get the latest version of Playwright
|
|
FROM mcr.microsoft.com/playwright:v1.32.2-focal
|
|
|
|
# Set the work directory for the application
|
|
WORKDIR /app
|
|
|
|
# Set the environment path to node_modules/.bin
|
|
ENV PATH /app/node_modules/.bin:$PATH
|
|
|
|
# Get the needed libraries to run Playwright
|
|
RUN apt-get update && apt-get -y install libnss3 libatk-bridge2.0-0 libdrm-dev libxkbcommon-dev libgbm-dev libasound-dev libatspi2.0-0 libxshmfence-dev python-is-python3
|
|
|
|
RUN apt-get update && apt-get -y install sudo curl ca-certificates gnupg && curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg && sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' && apt-get update
|
|
|
|
|
|
# Install PostgreSQL
|
|
RUN apt-get update && \
|
|
apt-get -y install gnupg gnupg2 gnupg1 -y postgresql-14
|
|
|
|
# update the base packages and add a non-sudo user
|
|
RUN apt-get update -y && apt-get upgrade -y && useradd -m docker
|
|
|
|
# install python and the packages the your code depends on along with jq so we can parse JSON
|
|
# add additional packages as necessary
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
|
curl jq build-essential libssl-dev libffi-dev python3 python3-venv python3-dev python3-pip
|
|
|
|
# cd into the user directory, download and unzip the github actions runner
|
|
RUN cd /home/docker && mkdir actions-runner && cd actions-runner \
|
|
&& curl -O -L https://github.com/actions/runner/releases/download/v2.306.0/actions-runner-linux-x64-2.306.0.tar.gz \
|
|
&& tar xzf ./actions-runner-linux-x64-2.306.0.tar.gz
|
|
|
|
# install some additional dependencies
|
|
RUN chown -R docker ~docker && /home/docker/actions-runner/bin/installdependencies.sh
|
|
|
|
RUN npx playwright install --with-deps
|
|
|
|
# copy over the start.sh script
|
|
COPY start.sh start.sh
|
|
|
|
# make the script executable
|
|
RUN chmod +x start.sh
|
|
|
|
# set the entrypoint to the start.sh script
|
|
ENTRYPOINT ["./start.sh"] |