-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into grid-all-datasources
- Loading branch information
Showing
21 changed files
with
1,969 additions
and
1,636 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,14 @@ | ||
packages/server/node_modules | ||
packages/builder | ||
packages/frontend-core | ||
packages/backend-core | ||
packages/worker/node_modules | ||
packages/cli | ||
packages/client | ||
packages/bbui | ||
packages/string-templates | ||
* | ||
!/packages/ | ||
!/scripts/ | ||
/packages/*/node_modules | ||
packages/server/scripts/ | ||
!packages/server/scripts/integrations/oracle | ||
!nx.json | ||
!/hosting/single/ | ||
!/hosting/letsencrypt / | ||
|
||
!package.json | ||
!yarn.lock | ||
!lerna.json | ||
!.yarnrc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
name: Test | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
env: | ||
CI: true | ||
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | ||
REGISTRY_URL: registry.hub.docker.com | ||
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} | ||
jobs: | ||
build: | ||
name: "build" | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
node-version: [18.x] | ||
steps: | ||
- name: "Checkout" | ||
uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | ||
|
||
- name: Use Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
cache: "yarn" | ||
- name: Setup QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Setup Docker Buildx | ||
id: buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- name: Run Yarn | ||
run: yarn | ||
- name: Run Yarn Build | ||
run: yarn build --scope @budibase/server --scope @budibase/worker | ||
- name: Login to Docker Hub | ||
uses: docker/login-action@v2 | ||
with: | ||
username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_API_KEY }} | ||
- name: Get the latest release version | ||
id: version | ||
run: | | ||
release_version=$(cat lerna.json | jq -r '.version') | ||
echo $release_version | ||
echo "RELEASE_VERSION=$release_version" >> $GITHUB_ENV | ||
- name: Tag and release Budibase service docker image | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
push: true | ||
pull: true | ||
platforms: linux/amd64,linux/arm64 | ||
tags: budibase/budibase-test:test | ||
file: ./hosting/single/Dockerfile.v2 | ||
cache-from: type=registry,ref=budibase/budibase-test:test | ||
cache-to: type=inline | ||
- name: Tag and release Budibase Azure App Service docker image | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: . | ||
push: true | ||
platforms: linux/amd64 | ||
build-args: TARGETBUILD=aas | ||
tags: budibase/budibase-test:aas | ||
file: ./hosting/single/Dockerfile.v2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
network-timeout 100000 | ||
network-timeout 1000000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
FROM node:18-slim as build | ||
|
||
# install node-gyp dependencies | ||
RUN apt-get update && apt-get install -y --no-install-recommends g++ make python3 jq | ||
|
||
|
||
# copy and install dependencies | ||
WORKDIR /app | ||
COPY package.json . | ||
COPY yarn.lock . | ||
COPY lerna.json . | ||
COPY .yarnrc . | ||
|
||
COPY packages/server/package.json packages/server/package.json | ||
COPY packages/worker/package.json packages/worker/package.json | ||
# string-templates does not get bundled during the esbuild process, so we want to use the local version | ||
COPY packages/string-templates/package.json packages/string-templates/package.json | ||
|
||
|
||
COPY scripts/removeWorkspaceDependencies.sh scripts/removeWorkspaceDependencies.sh | ||
RUN chmod +x ./scripts/removeWorkspaceDependencies.sh | ||
RUN ./scripts/removeWorkspaceDependencies.sh | ||
|
||
|
||
# We will never want to sync pro, but the script is still required | ||
RUN echo '' > scripts/syncProPackage.js | ||
RUN jq 'del(.scripts.postinstall)' package.json > temp.json && mv temp.json package.json | ||
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn yarn install --production | ||
|
||
# copy the actual code | ||
COPY packages/server/dist packages/server/dist | ||
COPY packages/server/pm2.config.js packages/server/pm2.config.js | ||
COPY packages/server/client packages/server/client | ||
COPY packages/server/builder packages/server/builder | ||
COPY packages/worker/dist packages/worker/dist | ||
COPY packages/worker/pm2.config.js packages/worker/pm2.config.js | ||
COPY packages/string-templates packages/string-templates | ||
|
||
|
||
FROM budibase/couchdb as runner | ||
ARG TARGETARCH | ||
ENV TARGETARCH $TARGETARCH | ||
#TARGETBUILD can be set to single (for single docker image) or aas (for azure app service) | ||
# e.g. docker build --build-arg TARGETBUILD=aas .... | ||
ARG TARGETBUILD=single | ||
ENV TARGETBUILD $TARGETBUILD | ||
|
||
# install base dependencies | ||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends software-properties-common nginx uuid-runtime redis-server | ||
|
||
# Install postgres client for pg_dump utils | ||
RUN apt install software-properties-common apt-transport-https gpg -y \ | ||
&& curl -fsSl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/postgresql.gpg > /dev/null \ | ||
&& echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | tee /etc/apt/sources.list.d/postgresql.list \ | ||
&& apt update -y \ | ||
&& apt install postgresql-client-15 -y \ | ||
&& apt remove software-properties-common apt-transport-https gpg -y | ||
|
||
# install other dependencies, nodejs, oracle requirements, jdk8, redis, nginx | ||
WORKDIR /nodejs | ||
RUN curl -sL https://deb.nodesource.com/setup_18.x -o /tmp/nodesource_setup.sh && \ | ||
bash /tmp/nodesource_setup.sh && \ | ||
apt-get install -y --no-install-recommends libaio1 nodejs && \ | ||
npm install --global yarn pm2 | ||
|
||
# setup nginx | ||
COPY hosting/single/nginx/nginx.conf /etc/nginx | ||
COPY hosting/single/nginx/nginx-default-site.conf /etc/nginx/sites-enabled/default | ||
RUN mkdir -p /var/log/nginx && \ | ||
touch /var/log/nginx/error.log && \ | ||
touch /var/run/nginx.pid && \ | ||
usermod -a -G tty www-data | ||
|
||
WORKDIR / | ||
RUN mkdir -p scripts/integrations/oracle | ||
COPY packages/server/scripts/integrations/oracle scripts/integrations/oracle | ||
RUN /bin/bash -e ./scripts/integrations/oracle/instantclient/linux/install.sh | ||
|
||
# setup minio | ||
WORKDIR /minio | ||
COPY scripts/install-minio.sh ./install.sh | ||
RUN chmod +x install.sh && ./install.sh | ||
|
||
# setup runner file | ||
WORKDIR / | ||
COPY hosting/single/runner.sh . | ||
RUN chmod +x ./runner.sh | ||
COPY hosting/single/healthcheck.sh . | ||
RUN chmod +x ./healthcheck.sh | ||
|
||
# Script below sets the path for storing data based on $DATA_DIR | ||
# For Azure App Service install SSH & point data locations to /home | ||
COPY hosting/single/ssh/sshd_config /etc/ | ||
COPY hosting/single/ssh/ssh_setup.sh /tmp | ||
RUN /build-target-paths.sh | ||
|
||
|
||
# setup letsencrypt certificate | ||
RUN apt-get install -y certbot python3-certbot-nginx | ||
COPY hosting/letsencrypt /app/letsencrypt | ||
RUN chmod +x /app/letsencrypt/certificate-request.sh /app/letsencrypt/certificate-renew.sh | ||
|
||
COPY --from=build /app/node_modules /node_modules | ||
COPY --from=build /app/package.json /package.json | ||
COPY --from=build /app/packages/server /app | ||
COPY --from=build /app/packages/worker /worker | ||
COPY --from=build /app/packages/string-templates /string-templates | ||
|
||
RUN cd /string-templates && yarn link && cd ../app && yarn link @budibase/string-templates && cd ../worker && yarn link @budibase/string-templates | ||
|
||
|
||
EXPOSE 80 | ||
EXPOSE 443 | ||
# Expose port 2222 for SSH on Azure App Service build | ||
EXPOSE 2222 | ||
VOLUME /data | ||
|
||
|
||
HEALTHCHECK --interval=15s --timeout=15s --start-period=45s CMD "/healthcheck.sh" | ||
|
||
# must set this just before running | ||
ENV NODE_ENV=production | ||
WORKDIR / | ||
|
||
CMD ["./runner.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
{ | ||
"version": "2.11.34", | ||
"version": "2.11.35", | ||
"npmClient": "yarn", | ||
"packages": [ | ||
"packages/*" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,5 +8,9 @@ | |
} | ||
} | ||
}, | ||
"targetDefaults": {} | ||
"targetDefaults": { | ||
"build": { | ||
"inputs": ["{workspaceRoot}/scripts/build.js"] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.