Last active
November 2, 2025 01:39
-
-
Save b23prodtm/e9a249a01f32453432a3d7db27e16b3d to your computer and use it in GitHub Desktop.
Node HTTPD webserver
This file contains hidden or 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
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>Apache HTTP Server</title> | |
| </head> | |
| <body> | |
| <h1>Hello, World!</h1> | |
| <p>This is an Apache HTTP server running in a Docker container.</p> | |
| </body> | |
| </html> |
This file contains hidden or 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
| # Use the official Node.js image as the base image | |
| FROM node:24-alpine AS node-build | |
| # Create and change to the app directory | |
| WORKDIR /usr/local/project | |
| # Copy Node.js dependency files | |
| # Fixing a global modules issue whether CI or Desktop | |
| COPY package.json yarn.lock .yarnrc.yml ./ | |
| COPY .yarn/ .yarn | |
| RUN corepack enable \ | |
| && corepack prepare yarn@stable --activate \ | |
| && yarn install --immutable \ | |
| && yarn cache clean | |
| # Use the official Apache HTTP server image as the base image | |
| FROM httpd:2.4 | |
| WORKDIR /usr/local/apache2/htdocs/ | |
| # Use end-slashe for directories to copy and no slash for destination | |
| COPY --from=node-build /usr/local/project/node_modules/ node_modules | |
| # throws an error without second stage COPY above | |
| RUN ls -l node_modules | |
| ENV PATH "./node_modules/.bin:$PATH" | |
| # Copy local code to the container image | |
| COPY . . | |
| # Expose port 80 | |
| EXPOSE 80 | |
| # Run the web service on container startup | |
| ENTRYPOINT [ "apachectl", "-D", "FOREGROUND" ] |
This file contains hidden or 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
| { | |
| "name": "node-httpd-server", | |
| "version": "1.0.0", | |
| "main": "node Apache webServer", | |
| "author": "Tina B Rakoto", | |
| "license": "Apache License v2", | |
| "dependencies": { | |
| "balena-cloud-apps": "^1.0.47" | |
| } | |
| } |
This file contains hidden or 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 IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. | |
| # yarn lockfile v1 | |
| balanced-match@^1.0.0: | |
| version "1.0.2" | |
| resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" | |
| integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== | |
| balena-cloud-apps@^1.0.47: | |
| version "1.0.47" | |
| resolved "https://registry.yarnpkg.com/balena-cloud-apps/-/balena-cloud-apps-1.0.47.tgz#5672328620d3a69f8293b31cdd86ce502c2f4e13" | |
| integrity sha512-46cZ+wLsl+vVuiEC3kWcmM+pMvUSt0ZZHBeBLYK7IkK1eiXEPNZNEvkjTOL1Ayo6rJlwgV7eg1EzJnpGBrAZZw== | |
| dependencies: | |
| shelljs "^0.8.4" | |
| brace-expansion@^1.1.7: | |
| version "1.1.12" | |
| resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" | |
| integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== | |
| dependencies: | |
| balanced-match "^1.0.0" | |
| concat-map "0.0.1" | |
| [email protected]: | |
| version "0.0.1" | |
| resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" | |
| integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== | |
| fs.realpath@^1.0.0: | |
| version "1.0.0" | |
| resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" | |
| integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== | |
| function-bind@^1.1.2: | |
| version "1.1.2" | |
| resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" | |
| integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== | |
| glob@^7.0.0: | |
| version "7.2.3" | |
| resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" | |
| integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== | |
| dependencies: | |
| fs.realpath "^1.0.0" | |
| inflight "^1.0.4" | |
| inherits "2" | |
| minimatch "^3.1.1" | |
| once "^1.3.0" | |
| path-is-absolute "^1.0.0" | |
| hasown@^2.0.2: | |
| version "2.0.2" | |
| resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" | |
| integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== | |
| dependencies: | |
| function-bind "^1.1.2" | |
| inflight@^1.0.4: | |
| version "1.0.6" | |
| resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" | |
| integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== | |
| dependencies: | |
| once "^1.3.0" | |
| wrappy "1" | |
| inherits@2: | |
| version "2.0.4" | |
| resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" | |
| integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | |
| interpret@^1.0.0: | |
| version "1.4.0" | |
| resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" | |
| integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== | |
| is-core-module@^2.16.1: | |
| version "2.16.1" | |
| resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" | |
| integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== | |
| dependencies: | |
| hasown "^2.0.2" | |
| minimatch@^3.1.1: | |
| version "3.1.2" | |
| resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" | |
| integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== | |
| dependencies: | |
| brace-expansion "^1.1.7" | |
| once@^1.3.0: | |
| version "1.4.0" | |
| resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" | |
| integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== | |
| dependencies: | |
| wrappy "1" | |
| path-is-absolute@^1.0.0: | |
| version "1.0.1" | |
| resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" | |
| integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== | |
| path-parse@^1.0.7: | |
| version "1.0.7" | |
| resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" | |
| integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== | |
| rechoir@^0.6.2: | |
| version "0.6.2" | |
| resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" | |
| integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== | |
| dependencies: | |
| resolve "^1.1.6" | |
| resolve@^1.1.6: | |
| version "1.22.11" | |
| resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" | |
| integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== | |
| dependencies: | |
| is-core-module "^2.16.1" | |
| path-parse "^1.0.7" | |
| supports-preserve-symlinks-flag "^1.0.0" | |
| shelljs@^0.8.4: | |
| version "0.8.5" | |
| resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" | |
| integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== | |
| dependencies: | |
| glob "^7.0.0" | |
| interpret "^1.0.0" | |
| rechoir "^0.6.2" | |
| supports-preserve-symlinks-flag@^1.0.0: | |
| version "1.0.0" | |
| resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" | |
| integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== | |
| wrappy@1: | |
| version "1.0.2" | |
| resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" | |
| integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
build straight forward from local Docker Desktop: