Compare commits
323 Commits
version-2.
...
fix/multi-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0521c140d | ||
|
|
dcb66ee989 | ||
|
|
c0f7cf77cb | ||
|
|
c4d6e766fa | ||
|
|
dbbda43758 | ||
|
|
054b49abde | ||
|
|
1fdd941c0a | ||
|
|
cba7f20546 | ||
|
|
8d58343954 | ||
|
|
8543c18079 | ||
|
|
47d0b7e9bf | ||
|
|
db874ff8b1 | ||
|
|
b49cf5cd28 | ||
|
|
0acdb4b98a | ||
|
|
d282ff71d1 | ||
|
|
f89ea705e2 | ||
|
|
fca3070045 | ||
|
|
f32bf8b6da | ||
|
|
5d58199abc | ||
|
|
7cc495d54e | ||
|
|
87379fea88 | ||
|
|
34c213f56a | ||
|
|
04e4c64efe | ||
|
|
a23fd8b12a | ||
|
|
4be3f45228 | ||
|
|
d17064f67f | ||
|
|
aad1382418 | ||
|
|
f7885eed69 | ||
|
|
008ddd57f3 | ||
|
|
0048a58b26 | ||
|
|
89bd10bd84 | ||
|
|
ff0db3a97c | ||
|
|
bd8a941f50 | ||
|
|
8353418232 | ||
|
|
26784d6969 | ||
|
|
a1d56a1f17 | ||
|
|
92512fd052 | ||
|
|
933f4722e9 | ||
|
|
4870434673 | ||
|
|
bcdff6eeb0 | ||
|
|
1cb1dec45b | ||
|
|
316124258f | ||
|
|
44997263f1 | ||
|
|
83d34f8df5 | ||
|
|
42e1b7260a | ||
|
|
d4e0fcecb9 | ||
|
|
5dbfc57d3c | ||
|
|
5f2a14bc63 | ||
|
|
a049989155 | ||
|
|
ff56a03fb6 | ||
|
|
9a74219dfd | ||
|
|
2b54576f05 | ||
|
|
fe5c310556 | ||
|
|
d299d9ae5e | ||
|
|
fa788cf600 | ||
|
|
7aea26c8a6 | ||
|
|
0d690c922a | ||
|
|
3c74585d48 | ||
|
|
083867dc77 | ||
|
|
06dd7f0821 | ||
|
|
74fadbc4cc | ||
|
|
838ffae9a6 | ||
|
|
5b159a7fb4 | ||
|
|
3ab1d7055e | ||
|
|
5c57c20d20 | ||
|
|
98fd99bced | ||
|
|
c17606cc0a | ||
|
|
064b31a641 | ||
|
|
769c1d91ee | ||
|
|
dffaae7cce | ||
|
|
44c0ba5eaf | ||
|
|
e6586b196b | ||
|
|
abcbf1a5de | ||
|
|
51ad2ea126 | ||
|
|
12caf3f4bf | ||
|
|
2265cf05f3 | ||
|
|
d8b94d4335 | ||
|
|
8db8b631da | ||
|
|
0e6fab7bf7 | ||
|
|
2b0bd7896e | ||
|
|
a2a9d0aca1 | ||
|
|
59bed07eca | ||
|
|
e9673bd1a4 | ||
|
|
780b708d49 | ||
|
|
915c9f7837 | ||
|
|
775eb7c83b | ||
|
|
1b94b0a4cc | ||
|
|
bc9d85b650 | ||
|
|
14564d06d8 | ||
|
|
7fd57f9097 | ||
|
|
a32eddc4d4 | ||
|
|
2581a9de2a | ||
|
|
82d0155b4e | ||
|
|
84d500c89c | ||
|
|
6c323097b6 | ||
|
|
4a6d1b4732 | ||
|
|
3279928c9d | ||
|
|
01ac9f4ff2 | ||
|
|
c2f7e69a59 | ||
|
|
546ef1305e | ||
|
|
d0c7668d34 | ||
|
|
68765805be | ||
|
|
6a15aaa42f | ||
|
|
c27de4875c | ||
|
|
71c0c84383 | ||
|
|
e94c50a224 | ||
|
|
7106728280 | ||
|
|
c24bc644e4 | ||
|
|
2ab14ab1ba | ||
|
|
92eb7b1b38 | ||
|
|
f4a717e9b8 | ||
|
|
208bd9c4b9 | ||
|
|
8c6594216f | ||
|
|
c4aa0e2ad2 | ||
|
|
28380a9517 | ||
|
|
8d8bfc5585 | ||
|
|
74aa6d7121 | ||
|
|
908834465e | ||
|
|
0bd99af9de | ||
|
|
061086165f | ||
|
|
cf978614db | ||
|
|
69fb59812a | ||
|
|
dfe010710b | ||
|
|
09027a5c97 | ||
|
|
578a104a92 | ||
|
|
b066cff0b3 | ||
|
|
d348680dc6 | ||
|
|
a4a51da68a | ||
|
|
16ec6da83f | ||
|
|
35125d3e41 | ||
|
|
0c502c56ff | ||
|
|
d922d0f363 | ||
|
|
d5fbf1869e | ||
|
|
7567a4669b | ||
|
|
4a368b6279 | ||
|
|
f0feb3920a | ||
|
|
6e264c2cbd | ||
|
|
c2fef16e7f | ||
|
|
98af1ee0f1 | ||
|
|
a014e6987d | ||
|
|
80fbee033f | ||
|
|
aa03d3300a | ||
|
|
2fda3845b0 | ||
|
|
2ab6ff4284 | ||
|
|
4937e38996 | ||
|
|
29994d5a47 | ||
|
|
5d36da146c | ||
|
|
c8abf7a184 | ||
|
|
f5ca95e8a8 | ||
|
|
6f6a258db1 | ||
|
|
91b9623260 | ||
|
|
594b253883 | ||
|
|
465216f223 | ||
|
|
45ecfb1332 | ||
|
|
b05bf66a98 | ||
|
|
d6e52074fc | ||
|
|
f8b0f22dd6 | ||
|
|
cd18541a77 | ||
|
|
36bc2a5e98 | ||
|
|
84223fd3c2 | ||
|
|
a4d313ef8b | ||
|
|
4ea7fc4db6 | ||
|
|
0aca750ab4 | ||
|
|
4f011445a0 | ||
|
|
030eecf235 | ||
|
|
0e63623d06 | ||
|
|
4526b07644 | ||
|
|
15043e209b | ||
|
|
a99a2d791a | ||
|
|
c812c07076 | ||
|
|
659c4a3dd0 | ||
|
|
e7d50ea0e8 | ||
|
|
d1841b2287 | ||
|
|
a24104bbc7 | ||
|
|
eb5ac7b4be | ||
|
|
9cda60d822 | ||
|
|
ed9f386e22 | ||
|
|
deaadc84ac | ||
|
|
8892507e29 | ||
|
|
1e6ef72a1c | ||
|
|
62310b0207 | ||
|
|
377964da71 | ||
|
|
b93882f36f | ||
|
|
ea9679f32c | ||
|
|
59f7b813c2 | ||
|
|
cd8c092600 | ||
|
|
69721634ab | ||
|
|
9315c39cdc | ||
|
|
c4ec75c4af | ||
|
|
d0fb4247e5 | ||
|
|
d4d7fdbae6 | ||
|
|
c652cac1bd | ||
|
|
6a143526da | ||
|
|
98e87102a4 | ||
|
|
2c1575a47a | ||
|
|
c027380ecb | ||
|
|
720639b2ea | ||
|
|
db2d9dc08e | ||
|
|
5d0489bf13 | ||
|
|
6c54c87dfc | ||
|
|
7fbffa6094 | ||
|
|
7528e9d0f0 | ||
|
|
09839f367f | ||
|
|
21ac156d00 | ||
|
|
15d7c1cf09 | ||
|
|
5636ea9001 | ||
|
|
d7933ece19 | ||
|
|
b329667c8a | ||
|
|
730bdd0faf | ||
|
|
0aaa480367 | ||
|
|
0dab29dfed | ||
|
|
9486648e4e | ||
|
|
e2b95b8f61 | ||
|
|
5d74a43453 | ||
|
|
47966b5c26 | ||
|
|
9359793032 | ||
|
|
59ad397832 | ||
|
|
18cfe50f5f | ||
|
|
e9ede520ba | ||
|
|
6a03392316 | ||
|
|
3325e52b64 | ||
|
|
88bee2ec45 | ||
|
|
bc3decdd21 | ||
|
|
bb0aabaf12 | ||
|
|
9a8058bd92 | ||
|
|
bd4fc5b877 | ||
|
|
994b791bcd | ||
|
|
c442968a13 | ||
|
|
9c602da764 | ||
|
|
ee4d60a854 | ||
|
|
9d50b994da | ||
|
|
d75d82de2b | ||
|
|
b4e1788f38 | ||
|
|
84d89058c8 | ||
|
|
9d59034af8 | ||
|
|
ccffeb1842 | ||
|
|
76b0c8ab73 | ||
|
|
7f2a0844a6 | ||
|
|
04fadaf4df | ||
|
|
3d3eb7097a | ||
|
|
81dba2d53c | ||
|
|
da04c4ec7e | ||
|
|
6fb7bd8712 | ||
|
|
ca82c6c218 | ||
|
|
cb9db89ab1 | ||
|
|
20137bb1e3 | ||
|
|
78ec934aa5 | ||
|
|
438bfddbf4 | ||
|
|
3674dd770f | ||
|
|
7c445ff49d | ||
|
|
5233f097b8 | ||
|
|
091e64a6ed | ||
|
|
373571e4d5 | ||
|
|
c77ccdfc4f | ||
|
|
a81056818d | ||
|
|
bda88300c6 | ||
|
|
ccf2c517c3 | ||
|
|
97a5a9b7a9 | ||
|
|
0ae8574f10 | ||
|
|
8e5ee518b8 | ||
|
|
be0f84b532 | ||
|
|
75d7a8b290 | ||
|
|
e5b7a307eb | ||
|
|
722ac1fedd | ||
|
|
d4fc846117 | ||
|
|
4a4fb0cc4b | ||
|
|
66b448b21d | ||
|
|
3f284777d9 | ||
|
|
556765e31c | ||
|
|
e378263b9a | ||
|
|
da0d8c72ba | ||
|
|
265da863a7 | ||
|
|
7c3368827d | ||
|
|
aafe4659d5 | ||
|
|
90bb564700 | ||
|
|
0b4ddc1557 | ||
|
|
83a978defc | ||
|
|
ef94a405ec | ||
|
|
0cea741e8d | ||
|
|
54aa682759 | ||
|
|
c1d515648c | ||
|
|
ef52a6bdec | ||
|
|
a46637ebf5 | ||
|
|
fe7e381e74 | ||
|
|
646127b78b | ||
|
|
2f73753547 | ||
|
|
c20e4c0e2c | ||
|
|
052c73319b | ||
|
|
648719a893 | ||
|
|
ed3d7db115 | ||
|
|
ac51207cf2 | ||
|
|
5d73aa98ae | ||
|
|
f513207635 | ||
|
|
9c63f2c5ca | ||
|
|
6e52f5fe98 | ||
|
|
d9a0883213 | ||
|
|
2481295170 | ||
|
|
861d81afdf | ||
|
|
f13b606f4c | ||
|
|
5a0c6ff4c2 | ||
|
|
0dd6e76218 | ||
|
|
045da5b5a6 | ||
|
|
ea6f007b7d | ||
|
|
d5b1d5efda | ||
|
|
b32d5a5a11 | ||
|
|
84db4f1335 | ||
|
|
1acb697ff2 | ||
|
|
92b3fd0196 | ||
|
|
d2be28f835 | ||
|
|
dfea5d6096 | ||
|
|
9a8a3b417b | ||
|
|
d9615badc2 | ||
|
|
13ee5f11bb | ||
|
|
b3460f0131 | ||
|
|
3343200901 | ||
|
|
14416be82b | ||
|
|
26f374e4d1 | ||
|
|
55eb90b9eb | ||
|
|
e25704fbd6 | ||
|
|
dac54efbfe | ||
|
|
b68b021815 | ||
|
|
a3678f6b48 | ||
|
|
07ef9141b2 |
7
.github/dependabot.yml
vendored
Normal file
7
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
# Maintain dependencies for GitHub Actions
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
59
.github/workflows/create-release.yaml
vendored
Normal file
59
.github/workflows/create-release.yaml
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
name: "Create Release"
|
||||||
|
|
||||||
|
on: # yamllint disable-line rule:truthy
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
RELEASE_TAG:
|
||||||
|
description: 'v{Major}.{Minor}.{Patch}'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: "Release"
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout source
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.ACTIONS_ACCESS_TOKEN }}
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Create branch and tag submodule
|
||||||
|
run: |
|
||||||
|
git config user.email "actions@github.com"
|
||||||
|
git config user.name "actions-user"
|
||||||
|
git submodule update --init --remote
|
||||||
|
git checkout -b 'release-${{ inputs.RELEASE_TAG }}'
|
||||||
|
(cd calcom && git fetch --tags origin && git checkout 'refs/tags/${{ inputs.RELEASE_TAG }}')
|
||||||
|
git add calcom
|
||||||
|
git commit -m "tag version Cal.com version ${{ inputs.RELEASE_TAG }}"
|
||||||
|
git push origin 'release-${{ inputs.RELEASE_TAG }}'
|
||||||
|
|
||||||
|
# note: instead of secrets.GITHUB_TOKEN here, we need to use a PAT
|
||||||
|
# so that the release creation triggers the image build workflow
|
||||||
|
- name: "Create release"
|
||||||
|
uses: "actions/github-script@v6"
|
||||||
|
with:
|
||||||
|
github-token: "${{ secrets.ACTIONS_ACCESS_TOKEN }}"
|
||||||
|
script: |
|
||||||
|
try {
|
||||||
|
const response = await github.rest.repos.createRelease({
|
||||||
|
draft: false,
|
||||||
|
generate_release_notes: true,
|
||||||
|
body: 'For Cal.com release details, see: https://github.com/calcom/cal.com/releases/tag/${{ inputs.RELEASE_TAG }}',
|
||||||
|
name: '${{ inputs.RELEASE_TAG }}',
|
||||||
|
target_commitish: 'release-${{ inputs.RELEASE_TAG }}',
|
||||||
|
owner: context.repo.owner,
|
||||||
|
prerelease: false,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
tag_name: '${{ inputs.RELEASE_TAG }}',
|
||||||
|
});
|
||||||
|
|
||||||
|
core.exportVariable('RELEASE_ID', response.data.id);
|
||||||
|
core.exportVariable('RELEASE_UPLOAD_URL', response.data.upload_url);
|
||||||
|
} catch (error) {
|
||||||
|
core.setFailed(error.message);
|
||||||
|
}
|
||||||
@@ -17,15 +17,17 @@ on:
|
|||||||
- completed
|
- completed
|
||||||
# Allow running workflow manually from the Actions tab
|
# Allow running workflow manually from the Actions tab
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
# Uncomment below to allow specific version workflow run
|
||||||
|
# inputs:
|
||||||
|
# version:
|
||||||
|
# description: 'Version to build'
|
||||||
|
# required: true
|
||||||
|
|
||||||
# Leaving in example for releases. Initially we simply push to 'latest'
|
# Leaving in example for releases. Initially we simply push to 'latest'
|
||||||
# on:
|
# on:
|
||||||
# release:
|
# release:
|
||||||
# types: [ created ]
|
# types: [ created ]
|
||||||
|
|
||||||
# # Allows you to run this workflow manually from the Actions tab
|
|
||||||
# workflow_dispatch:
|
|
||||||
|
|
||||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
jobs:
|
jobs:
|
||||||
# This workflow contains a single job called "build"
|
# This workflow contains a single job called "build"
|
||||||
@@ -35,16 +37,21 @@ jobs:
|
|||||||
|
|
||||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
steps:
|
steps:
|
||||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it, uncomment below
|
||||||
|
# - name: Checkout code at specified version
|
||||||
|
# uses: actions/checkout@v2
|
||||||
|
# with:
|
||||||
|
# ref: ${{ github.event.inputs.version }}
|
||||||
|
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Git submodule update
|
- name: Git submodule update
|
||||||
run: |
|
run: |
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
|
|
||||||
- name: Log in to the Docker Hub registry
|
- name: Log in to the Docker Hub registry
|
||||||
uses: docker/login-action@v1.10.0
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
# Username used to log against the Docker registry
|
# Username used to log against the Docker registry
|
||||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||||
@@ -54,7 +61,7 @@ jobs:
|
|||||||
logout: true # optional, default is true
|
logout: true # optional, default is true
|
||||||
|
|
||||||
- name: Log in to the Github Container registry
|
- name: Log in to the Github Container registry
|
||||||
uses: docker/login-action@v1.10.0
|
uses: docker/login-action@v2
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.actor }}
|
username: ${{ github.actor }}
|
||||||
@@ -91,14 +98,18 @@ jobs:
|
|||||||
network=container:database
|
network=container:database
|
||||||
buildkitd-flags: |
|
buildkitd-flags: |
|
||||||
--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
|
--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
|
||||||
|
# config-inline: |
|
||||||
|
# [worker.oci]
|
||||||
|
# max-parallelism = 1
|
||||||
|
|
||||||
- name: Build and push image
|
- name: Build image
|
||||||
id: docker_build
|
id: docker_build
|
||||||
uses: docker/build-push-action@v3
|
uses: docker/build-push-action@v4
|
||||||
with:
|
with:
|
||||||
context: ./
|
context: ./
|
||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
load: true # Load the image into the Docker daemon
|
||||||
|
push: false # Do not push the image at this stage
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
@@ -108,13 +119,74 @@ jobs:
|
|||||||
NEXT_PUBLIC_TELEMETRY_KEY=${{ env.NEXT_PUBLIC_TELEMETRY_KEY }}
|
NEXT_PUBLIC_TELEMETRY_KEY=${{ env.NEXT_PUBLIC_TELEMETRY_KEY }}
|
||||||
DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }}
|
DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }}
|
||||||
|
|
||||||
# - name: Build with docker compose
|
- name: Test runtime
|
||||||
# run: |
|
run: |
|
||||||
# DOCKER_BUILDKIT=0 docker compose build --build-arg DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }} calcom
|
tags="${{ steps.meta.outputs.tags }}"
|
||||||
|
IFS=',' read -ra ADDR <<< "$tags" # Convert string to array using ',' as delimiter
|
||||||
|
tag=${ADDR[0]} # Get the first tag
|
||||||
|
|
||||||
|
docker run --rm --network stack \
|
||||||
|
-p 3000:3000 \
|
||||||
|
-e DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@database/${{ env.POSTGRES_DB }} \
|
||||||
|
-e NEXTAUTH_SECRET=${{ env.NEXTAUTH_SECRET }} \
|
||||||
|
-e CALENDSO_ENCRYPTION_KEY=${{ env.CALENDSO_ENCRYPTION_KEY }} \
|
||||||
|
$tag &
|
||||||
|
|
||||||
|
server_pid=$!
|
||||||
|
|
||||||
|
|
||||||
|
echo "Waiting for the server to start..."
|
||||||
|
sleep 120
|
||||||
|
|
||||||
|
echo ${{ env.NEXT_PUBLIC_WEBAPP_URL }}/auth/login
|
||||||
|
|
||||||
|
for i in {1..60}; do
|
||||||
|
echo "Checking server health ($i/60)..."
|
||||||
|
response=$(curl -o /dev/null -s -w "%{http_code}" ${{ env.NEXT_PUBLIC_WEBAPP_URL }}/auth/login)
|
||||||
|
echo "HTTP Status Code: $response"
|
||||||
|
if [[ "$response" == "200" ]] || [[ "$response" == "307" ]]; then
|
||||||
|
echo "Server is healthy"
|
||||||
|
# Now, shutdown the server
|
||||||
|
kill $server_pid
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Server health check failed"
|
||||||
|
kill $server_pid
|
||||||
|
exit 1
|
||||||
|
env:
|
||||||
|
NEXTAUTH_SECRET: 'EI4qqDpcfdvf4A+0aQEEx8JjHxHSy4uWiZw/F32K+pA='
|
||||||
|
CALENDSO_ENCRYPTION_KEY: '0zfLtY99wjeLnsM7qsa8xsT+Q0oSgnOL'
|
||||||
|
|
||||||
- name: Cleanup
|
- name: Cleanup
|
||||||
run: |
|
run: |
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|
||||||
|
# - name: Push image
|
||||||
|
# run: |
|
||||||
|
# tags="${{ steps.meta.outputs.tags }}"
|
||||||
|
# IFS=',' read -ra ADDR <<< "$tags" # Convert string to array using ',' as delimiter
|
||||||
|
# for tag in "${ADDR[@]}"; do
|
||||||
|
# docker push $tag
|
||||||
|
# done
|
||||||
|
|
||||||
|
- name: Push image
|
||||||
|
id: docker_push
|
||||||
|
uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
context: ./
|
||||||
|
file: ./Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
build-args: |
|
||||||
|
NEXT_PUBLIC_WEBAPP_URL=${{ env.NEXT_PUBLIC_WEBAPP_URL }}
|
||||||
|
NEXT_PUBLIC_LICENSE_CONSENT=${{ env.NEXT_PUBLIC_LICENSE_CONSENT }}
|
||||||
|
NEXT_PUBLIC_TELEMETRY_KEY=${{ env.NEXT_PUBLIC_TELEMETRY_KEY }}
|
||||||
|
DATABASE_URL=postgresql://${{ env.POSTGRES_USER }}:${{ env.POSTGRES_PASSWORD }}@${{ env.DATABASE_HOST }}/${{ env.POSTGRES_DB }}
|
||||||
|
|
||||||
- name: Image digest
|
- name: Image digest
|
||||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||||
|
|||||||
2
.github/workflows/update-submodules.yml
vendored
2
.github/workflows/update-submodules.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Git submodule update
|
- name: Git submodule update
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
44
Dockerfile
44
Dockerfile
@@ -1,6 +1,7 @@
|
|||||||
FROM node:16 as builder
|
FROM node:18 as builder
|
||||||
|
|
||||||
WORKDIR /calcom
|
WORKDIR /calcom
|
||||||
|
|
||||||
ARG NEXT_PUBLIC_LICENSE_CONSENT
|
ARG NEXT_PUBLIC_LICENSE_CONSENT
|
||||||
ARG CALCOM_TELEMETRY_DISABLED
|
ARG CALCOM_TELEMETRY_DISABLED
|
||||||
ARG DATABASE_URL
|
ARG DATABASE_URL
|
||||||
@@ -16,30 +17,33 @@ ENV NEXT_PUBLIC_WEBAPP_URL=http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER \
|
|||||||
CALENDSO_ENCRYPTION_KEY=${CALENDSO_ENCRYPTION_KEY} \
|
CALENDSO_ENCRYPTION_KEY=${CALENDSO_ENCRYPTION_KEY} \
|
||||||
NODE_OPTIONS=--max-old-space-size=${MAX_OLD_SPACE_SIZE}
|
NODE_OPTIONS=--max-old-space-size=${MAX_OLD_SPACE_SIZE}
|
||||||
|
|
||||||
COPY calcom/package.json calcom/yarn.lock calcom/turbo.json calcom/git-init.sh calcom/git-setup.sh ./
|
COPY calcom/package.json calcom/yarn.lock calcom/.yarnrc.yml calcom/playwright.config.ts calcom/turbo.json calcom/git-init.sh calcom/git-setup.sh ./
|
||||||
|
COPY calcom/.yarn ./.yarn
|
||||||
COPY calcom/apps/web ./apps/web
|
COPY calcom/apps/web ./apps/web
|
||||||
COPY calcom/packages ./packages
|
COPY calcom/packages ./packages
|
||||||
|
COPY calcom/tests ./tests
|
||||||
|
|
||||||
RUN yarn global add turbo && \
|
RUN yarn config set httpTimeout 1200000 && \
|
||||||
yarn config set network-timeout 1000000000 -g && \
|
npx turbo prune --scope=@calcom/web --docker && \
|
||||||
turbo prune --scope=@calcom/web --docker && \
|
yarn install && \
|
||||||
yarn install
|
yarn db-deploy && \
|
||||||
|
yarn --cwd packages/prisma seed-app-store
|
||||||
|
|
||||||
RUN yarn turbo run build --filter=@calcom/web
|
RUN yarn turbo run build --filter=@calcom/web
|
||||||
|
|
||||||
FROM node:16 as runner
|
# RUN yarn plugin import workspace-tools && \
|
||||||
|
# yarn workspaces focus --all --production
|
||||||
|
RUN rm -rf node_modules/.cache .yarn/cache apps/web/.next/cache
|
||||||
|
|
||||||
|
FROM node:18 as builder-two
|
||||||
|
|
||||||
WORKDIR /calcom
|
WORKDIR /calcom
|
||||||
ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000
|
ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000
|
||||||
|
|
||||||
ENV NODE_ENV production
|
ENV NODE_ENV production
|
||||||
|
|
||||||
RUN apt-get update && \
|
COPY calcom/package.json calcom/.yarnrc.yml calcom/yarn.lock calcom/turbo.json ./
|
||||||
apt-get -y install netcat && \
|
COPY calcom/.yarn ./.yarn
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
|
||||||
npm install --global prisma
|
|
||||||
|
|
||||||
COPY calcom/package.json calcom/yarn.lock calcom/turbo.json ./
|
|
||||||
COPY --from=builder /calcom/node_modules ./node_modules
|
COPY --from=builder /calcom/node_modules ./node_modules
|
||||||
COPY --from=builder /calcom/packages ./packages
|
COPY --from=builder /calcom/packages ./packages
|
||||||
COPY --from=builder /calcom/apps/web ./apps/web
|
COPY --from=builder /calcom/apps/web ./apps/web
|
||||||
@@ -53,5 +57,19 @@ ENV NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL \
|
|||||||
|
|
||||||
RUN scripts/replace-placeholder.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_WEBAPP_URL}
|
RUN scripts/replace-placeholder.sh http://NEXT_PUBLIC_WEBAPP_URL_PLACEHOLDER ${NEXT_PUBLIC_WEBAPP_URL}
|
||||||
|
|
||||||
|
FROM node:18 as runner
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /calcom
|
||||||
|
COPY --from=builder-two /calcom ./
|
||||||
|
ARG NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000
|
||||||
|
ENV NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL \
|
||||||
|
BUILT_NEXT_PUBLIC_WEBAPP_URL=$NEXT_PUBLIC_WEBAPP_URL
|
||||||
|
|
||||||
|
ENV NODE_ENV production
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
|
HEALTHCHECK --interval=30s --timeout=30s --retries=5 \
|
||||||
|
CMD wget --spider http://localhost:3000 || exit 1
|
||||||
|
|
||||||
CMD ["/calcom/scripts/start.sh"]
|
CMD ["/calcom/scripts/start.sh"]
|
||||||
@@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
|
|
||||||
NOTE: DockerHub organization has not yet been renamed.
|
|
||||||
|
|
||||||
This image can be found on DockerHub at [https://hub.docker.com/r/calcom/cal.com](https://hub.docker.com/r/calcom/cal.com)
|
This image can be found on DockerHub at [https://hub.docker.com/r/calcom/cal.com](https://hub.docker.com/r/calcom/cal.com)
|
||||||
|
|
||||||
The Docker configuration for Cal.com is an effort powered by people within the community. Cal.com, Inc. does not yet provide official support for Docker, but we will accept fixes and documentation at this time. Use at your own risk.
|
The Docker configuration for Cal.com is an effort powered by people within the community. Cal.com, Inc. does not yet provide official support for Docker, but we will accept fixes and documentation at this time. Use at your own risk.
|
||||||
|
|||||||
2
calcom
2
calcom
Submodule calcom updated: 8640eb9f52...899b59620d
Reference in New Issue
Block a user