-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
432a060
commit 0f39833
Showing
7 changed files
with
123 additions
and
4 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
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,3 @@ | ||
FROM h1cr.io/website/node:20 | ||
COPY --from=h1cr.io/ws-server /opt/ws-server /opt/ws-server | ||
CMD ["/opt/ws-server/server"] |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
FROM node:20 | ||
LABEL maintainer="HyperOne" | ||
LABEL rbx.shell_cmd="/bin/bash" | ||
RUN apt-get update \ | ||
&& apt-get install -y --no-install-recommends ca-certificates git less rsync curl zip unzip wget nano mc vim mariadb-client openssh-sftp-server postgresql-client subversion locales \ | ||
&& VERSION_CODENAME=$(sed -E -n 's/VERSION=.*\((.+?)\).*$/\1/gp' /etc/os-release) \ | ||
&& fetchDeps="gnupg" \ | ||
&& apt-get update \ | ||
&& apt-get install -y --no-install-recommends ${fetchDeps} \ | ||
&& curl -fsSL "http://packages.hyperone.cloud/gpg.public.txt" | apt-key add - \ | ||
&& echo "deb [arch=amd64] http://packages.hyperone.cloud/linux/debian/ $VERSION_CODENAME stable" > /etc/apt/sources.list.d/hyperone.list \ | ||
&& apt-get update \ | ||
&& apt-get install -y --no-install-recommends h1-cli \ | ||
&& apt-get remove -y ${fetchDeps} \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
RUN ln -s /usr/lib/openssh/sftp-server /usr/bin/sftp-server | ||
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \ | ||
&& dpkg-reconfigure --frontend=noninteractive locales \ | ||
&& update-locale LANG=en_US.UTF-8 | ||
ENV LANGUAGE en_US.UTF-8 | ||
ENV LANG en_US.UTF-8 | ||
ENV LC_ALL en_US.UTF-8 | ||
RUN adduser --uid 23456 --disabled-password --gecos "" --home /data run-user && chown run-user:run-user -R /data | ||
USER run-user | ||
WORKDIR /data | ||
ENV NODE_VERSION 20 | ||
ENV PORT 8080 | ||
CMD ["node", "app"] |
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,84 @@ | ||
# Node 20 | ||
|
||
## Kluczowe funkcjonalności | ||
|
||
* Dostęp do NodeJS w wersji 20 | ||
* Kompatybilność z usługą *Baza danych* w wariancie PostgreSQL i MySQL | ||
* Obsługa HTTP i WebSocket | ||
|
||
## Struktura katalogów | ||
|
||
Wykorzystywana jest następująca struktura katalogów: | ||
|
||
* ```/data/.zfs``` - dostęp (wyłącznie do odczytu) utworzonych migawek | ||
* ```/data/public``` - katalog zawierający aplikacje | ||
* ```/data/app/index.js``` - plik startowy aplikacji NodeJS | ||
|
||
## Użycie | ||
|
||
Środowisko wykonawcze może zostać wykorzystane w ramach usługi *Strona*. | ||
|
||
W celu użycia w ramach usługi *Strona* podczas utworzenia strony należy wskazać środowisko wykonawcze z wykorzystaniem identyfikatora: | ||
|
||
```h1cr.io/website/node:20``` | ||
|
||
Środowisko dostępne także z wykorzystaniem identyfikatora ```h1cr.io/website/node:latest``` w celu uzyskania stale najnowszej wersji NodeJS. W przypadku wydania nowej wersji to oznaczenie to będzie wskazywać na nową wersje. | ||
|
||
Kod aplikacji należy umieścić w ścieżce ```app```, a punkt startowy w ```app/index.js``` | ||
|
||
## Oprogramowanie | ||
|
||
Środowisko udostępnia następujące oprogramowanie: | ||
|
||
* NodeJS 20 | ||
|
||
### Interpreter NodeJS | ||
|
||
Interpreter NodeJS jest odpowiedzialny za obsługę przychodzącego żądania i udzielenia w celu udzielenia odpowiedzi dynamicznej odpowiedzi wygenerowanej z pomocą język 20. | ||
|
||
Środowisko udostępnia najnowszą stabilną wersji NodeJS 20. W środowisku mogą zostać wprowadzone nowe drobne poprawki, ale nie ulega zmianie główna wersja. | ||
|
||
Na przykład środowisko może zawierać NodeJS 20.1.1, a później zostać zaktualizowane do NodeJS 20.2.15, ale nie będzie automatycznie aktualizowana do wyższego wydania głównego. | ||
|
||
#### Nagłówki żądąnia | ||
|
||
Żądania przekazane do aplikacji zawierają następujące dodatkowe nagłówki: | ||
|
||
* ```X-Forwarded-For``` - adres IP wykorzystujący usługę *Strona* tj. adres IP użytkownika aplikacji | ||
* ```X-Forwarded-Host``` - adres domenowy wykorzystany do połączenia z usługą *Strona* | ||
* ```X-Forwarded-Port``` – port wykorzystany do połączenia z usługą *Strona* | ||
* ```X-Forwarded-Proto``` - protokół wykorzystany do połączenia z usługą *Strona* | ||
|
||
#### Dzienniki zdarzeń | ||
|
||
Informacje na temat pracy interpretera NodeJS są domyślnie wyświetlane i rejestrowane do ogólnego dziennika usługi *Strona* . | ||
|
||
## Zmienne środowiskowe | ||
|
||
Następujące zmienne środowiskowe są ustawione w środowisku: | ||
|
||
| Zmienna środowiskowa | Opis | | ||
| -------------------- | ------------------------------------- | | ||
| ```NODE_VERSION``` | Dostępna wersja interpretera NodeJS | | ||
| ```PORT``` | Wymagany port nasłuchiwania aplikacji | | ||
|
||
## Powłoka | ||
|
||
W interaktywnej konsoli jest dostępne m. in. następujące oprogramowanie: | ||
|
||
* composer | ||
* curl | ||
* h1-cli | ||
* mariadb-client | ||
* mc | ||
* nano | ||
* postgresql-client | ||
* rsync | ||
* less | ||
* git | ||
* subversion | ||
* unzip | ||
* vim | ||
* wget | ||
* wp-cli | ||
* zip |
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