| |
| FROM node:20-alpine |
|
|
| |
| RUN apk add --no-cache libc6-compat git |
|
|
| WORKDIR /app |
|
|
| |
| RUN git clone https://github.com/Anshu78780/ScarperApi.git . |
|
|
| |
| |
| |
| RUN echo "Y29uc3QgZnMgPSByZXF1aXJlKCdmcycpOwpjb25zdCBwYXRoID0gcmVxdWlyZSgncGF0aCcpOwoKY29uc29sZS5sb2coJ0FwcGx5aW5nIFVubGltaXRlZCBBY2Nlc3MgJiBOby1EQiBIYWNrcy4uLicpOwoKLy8gMS4gQnlwYXNzIEFQSSBLZXlzIChsaWIvYXBpLWF1dGgudHMpCmZzLndyaXRlRmlsZVN5bmMoJ2xpYi9hcGktYXV0aC50cycsIGBpbXBvcnQgeyBOZXh0UmVxdWVzdCwgTmV4dFJlc3BvbnNlIH0gZnJvbSAnbmV4dC9zZXJ2ZXInOwpleHBvcnQgYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVBcGlLZXkocmVxdWVzdDogTmV4dFJlcXVlc3QpIHsKICByZXR1cm4geyB2YWxpZDogdHJ1ZSwga2V5RGF0YTogeyBpZDogJ2J5cGFzcycsIHVzZXJJZDogJ2FkbWluJywga2V5OiAnYnlwYXNzJywgaXNBY3RpdmU6IHRydWUsIHJlcXVlc3RDb3VudDogMCwgcmVxdWVzdFF1b3RhOiBJbmZpbml0eSB9IH07Cn0KZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVuYXV0aG9yaXplZFJlc3BvbnNlKCkge3wKICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBzdWNjZXNzOiB0cnVlLCBtZXNzYWdlOiAnVW5saW1pdGVkIGFjY2VzcyBhY3RpdmUnIH0sIHsgc3RhdHVzOiAyMDAgfSk7Cn0KZXhwb3J0IGNvbnN0IHZlcmlmeVJlcXVlc3QgPSB2YWxpZGF0ZUFwaUtleTsKZXhwb3J0IGNvbnN0IGF1dGhlbnRpY2F0ZUFwaSA9IHZhbGlkYXRlQXBpS2V5O2ApOwoKLy8gMi4gRGlzYWJsZSBEYXRhYmFzZSAobGliL2RiL2luZGV4LnRzKQpmcy53cml0ZUZpbGVTeW5jKCdsaWIvZGIvaW5kZXgudHMnLCBgZXhwb3J0IGNvbnN0IGRiID0gbmV3IFByb3h5KHt9LCB7IGdldDogKCkgPT4gKCkgPT4gW10gfSkgO2ApOwoKLy8gMy4gRGlzYWJsZSBBdXRoIChsaWIvYXV0aC50cykKZnMud3JpdGVGaWxlU3luYygnbGliL2F1dGgudHMnLCBgZXhwb3J0IGNvbnN0IGF1dGggPSB7IGFwaTogeyBnZXRTZXNzaW9uOiBhc3luYyAoKSA9PiBudWxsIH0sIGdldFNlc3Npb246IGFzeW5jICgpID0+IG51bGwgfTtgKTsKCi8vIDQuIERpc2FibGUgRW1haWwgKGxpYi9lbWFpbC1zZXJ2aWNlLnRzKQpmcy53cml0ZUZpbGVTeW5jKCdsaWIvZW1haWwtc2VydmljZS50cycsIGBleHBvcnQgY29uc3Qgc2VuZFF1b3RhV2FybmluZ0VtYWlsID0gYXN5bmMgKCkgPT4ge307CmV4cG9ydCBjb25zdCBzaG91bGRTZW5kUXVvdGFXYXJuaW5nID0gKCkgPT4gZmFsc2U7CmV4cG9ydCBjb25zdCBjYWxjdWxhdGVVc2FnZVBlcmNlbnRhZ2UgPSAoKSA9PiAwOwpleHBvcnQgY29uc3Qgc2VuZExvZ2luTm90aWZpY2F0aW9uID0gYXN5bmMgKCkgPT4ge307YCk7CgovLyA1LiBEaXNhYmxlIFJlZGlzICYgRXhwb3J0IFR5cGVzIChsaWIvcHJvdmlkZXItY2FjaGUudHMpCmNvbnN0IEFMTF9QUk9WSURFUlMgPSBbJzRrSERIdWInLCAnSERIdWI0dScsICdNb3ZpZXM0dScsICdEcml2ZScsICdWZWdhJywgJ1plZUZsaXonLCAnWmlua01vdmllcycsICdEZXNpcmVNb3ZpZXMnLCAnTmV0TWlycm9yJywgJ0FuaW1lU2FsdCcsICdLTU1vdmllcycsICdVaGRNb3ZpZXMnLCAnTW92aWVzbW9kJywgJ0FkdWx0J107CmZzLndyaXRlRmlsZVN5bmMoJ2xpYi9wcm92aWRlci1jYWNoZS50cycsIGBleHBvcnQgY29uc3QgQUxMX1BST1ZJREVSUyA9ICR7SlNPTi5zdHJpbmdpZnkoQUxMX1BST1ZJREVSUyl9IDsKZXhwb3J0IGNvbnN0IGNhY2hlID0geyBnZXQ6IGFzeW5jICgpID0+IG51bGwsIHNldDogYXN5bmMgKCkgPT4gbnVsbCwgZGVsZXRlOiBhc3luYyAoKSA9PiBudWxsIH07CmV4cG9ydCBjb25zdCBnZXRDYWNoZWREYXRhID0gYXN5bmMgKCkgPT4gbnVsbDsKZXhwb3J0IGNvbnN0IHNldENhY2hlZERhdGEgPSBhc3luYyAoKSA9PiBudWxsOwpleHBvcnQgY29uc3QgdXBkYXRlVXNlclByb3ZpZGVycyA9IGFzeW5jICgpID0+IHt9OwpleHBvcnQgY29uc3QgaW52YWxpZGF0ZVVzZXJQcm92aWRlckNhY2hlID0gYXN5bmMgKCkgPT4ge307CmV4cG9ydCBjb25zdCBnZXREZWZhdWx0UHJvdmlkZXJzID0gYXN5bmMgKCkgPT4gQUxMX1BST1ZJREVSUy5maWx0ZXIocCA9PiBwICE9PSAnQWR1bHQnKTsKZXhwb3J0IGNvbnN0IGlzUHJvdmlkZXJFbmFibGVkID0gYXN5bmMgKCkgPT4gdHJ1ZTsKZXhwb3J0IGNvbnN0IGdldFVzZXJFbmFibGVkUHJvdmlkZXJzID0gYXN5bmMgKCkgPT4gZ2V0RGVmYXVsdFByb3ZpZGVycygpO2ApOwoKLy8gNi4gQ29uZmlnIE9wdGltaXphdGlvbiAobmV4dC5jb25maWcudHMpCmZzLndyaXRlRmlsZVN5bmMoJ25leHQuY29uZmlnLnRzJywgYGltcG9ydCB0eXBlIHsgTmV4dENvbmZpZyB9IGZyb20gJ25leHQnOwpjb25zdCBuZXh0Q29uZmlnOiBOZXh0Q29uZmlnID0gewogIHJlYWN0U3RyaWN0TW9kZTogZmFsc2UsCiAgdHlwZXNjcmlwdDoge2lnbm9yZUJ1aWxkRXJyb3JzOiB0cnVlfSwKICBlc2xpbnQ6IHtpZ25vcmVEdXJpbmdCdWlsZHM6IHRydWV9LAogIGltYWdlczogeyByZW1vdGVQYXR0ZXJuczogW3sgcHJvdG9jb2w6ICdodHRwcycsIGhvc3RuYW1lOiAnKionIH1dIH0sCn07CmV4cG9ydCBkZWZhdWx0IG5leHRDb25maWc7YCk7" | base64 -d > scripts-apply-hacks.js |
|
|
| |
| RUN node scripts-apply-hacks.js |
|
|
| |
| RUN mkdir -p app/api/sync |
| RUN echo "aW1wb3J0IHsgTmV4dFJlc3BvbnNlIH0gZnJvbSAnbmV4dC9zZXJ2ZXInOwppbXBvcnQgeyBleGVjIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7CmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnOwpjb25zdCBleGVjQXN5bmMgPSBwcm9taXNpZnkoZXhlYyk7CgpleHBvcnQgY29uc3QgZHluYW1pYyA9ICdmb3JjZS1keW5hbWljJzsKCmV4cG9ydCBhc3luYyBmdW5jdGlvbiBHRVQoKSB7CiAgdHJ5IHsKICAgIGNvbnNvbGUubG9nKCdTeW5jaW5nLi4uJyk7CiAgICAvLyBSZXNldCB0byBkaXNjYXJkIGxvY2FsIGhhY2tzIChzbyBwdWxsIHdvcmtzKSwgdGhlbiBwdWxsCiAgICBhd2FpdCBleGVjQXN5bmMoJ2dpdCByZXNldCAtLWhhcmQgSEVBRCAmJiBnaXQgcHVsbCcpOwogICAgCiAgICAvLyBSZS1hcHBseSBoYWNrcyB1c2luZyB0aGUgc2NyaXB0IHdlIGNyZWF0ZWQKICAgIGF3YWl0IGV4ZWNBc3luYygnbm9kZSBzY3JpcHRzLWFwcGx5LWhhY2tzLmpzJyk7CiAgICAKICAgIC8vIFJlYnVpbGQgdGhlIGFwcAogICAgY29uc29sZS5sb2coJ0J1aWxkaW5nLi4uJyk7CiAgICAvLyBXZSBydW4gYnVpbGQgaW4gYmFja2dyb3VuZCBvciB3YWl0PyBXYWl0aW5nIG1pZ2h0IHRpbWVvdXQgSFRUUC4KICAgIC8vIEJ1dCB3ZSBuZWVkIGl0IGRvbmUgYmVmb3JlIHJlc3RhcnQuCiAgICBhd2FpdCBleGVjQXN5bmMoJ25wbSBydW4gYnVpbGQnKTsKICAgIAogICAgLy8gVHJpZ2dlciByZXN0YXJ0IChEb2NrZXIgd2lsbCByZXN0YXJ0IHRoZSBjb250YWluZXIpCiAgICBzZXRUaW1lb3V0KCgpID0+IHByb2Nlc3MuZXhpdCgxKSwgMTAwMCk7CiAgICAKICAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbih7IHN1Y2Nlc3M6IHRydWUsIG1lc3NhZ2U6ICdVcGRhdGVkICYgUmVidWlsdC4gUmVzdGFydGluZy4uLicgfSk7CiAgfSBjYXRjaCAoZTogYW55KSB7CiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGUubWVzc2FnZSB9LCB7IHN0YXR1czogNTAwIH0pOwogIH0KfQ==" | base64 -d > app/api/sync/route.ts |
|
|
| |
| RUN npm ci --legacy-peer-deps || npm install --legacy-peer-deps |
|
|
| |
| ENV NEXT_TELEMETRY_DISABLED=1 |
| ENV DATABASE_URL="postgresql://mock:mock@localhost:5432/mock" |
| ENV BETTER_AUTH_SECRET="mock_secret" |
| ENV BETTER_AUTH_URL="http://localhost:3000" |
| ENV RESEND_API_KEY="re_mock_key_123" |
|
|
| RUN npm run build |
|
|
| |
| ENV PORT=7860 |
| ENV NODE_ENV=production |
| EXPOSE 7860 |
|
|
| |
| CMD ["npm", "start"] |