From 940d2b7f01ff111debe21709cfba361d34436b16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=A0trauch?= Date: Sat, 25 Nov 2023 03:00:21 +0100 Subject: [PATCH] Passenger for Ruby --- Taskfile.yml | 3 +- build_ruby.sh | 3 ++ examples/ruby/app.rb | 81 ----------------------------------- examples/ruby/index.html | 65 ++++++++++++++++++++++++++++ examples/ruby/supervisor.conf | 2 +- rosti.tmpl.sh | 8 ++++ 6 files changed, 78 insertions(+), 84 deletions(-) delete mode 100644 examples/ruby/app.rb create mode 100644 examples/ruby/index.html diff --git a/Taskfile.yml b/Taskfile.yml index 36814a2..83fd3e1 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -3,9 +3,8 @@ version: '3' vars: - GREETING: Hello, World! REPO: harbor.hq.rosti.cz/rosti/runtime - VERSION: 2023.08-1 + VERSION: 2023.12-1 BASEIMAGE: debian:bookworm tasks: diff --git a/build_ruby.sh b/build_ruby.sh index 5244d78..20612dd 100755 --- a/build_ruby.sh +++ b/build_ruby.sh @@ -18,3 +18,6 @@ cd ruby-$VERSION ./configure --prefix=/opt/techs/ruby-$VERSION make -j make install + +/opt/techs/ruby-${VERSION}/bin/gem update --system +/opt/techs/ruby-${VERSION}/bin/gem install passenger diff --git a/examples/ruby/app.rb b/examples/ruby/app.rb deleted file mode 100644 index 81afed5..0000000 --- a/examples/ruby/app.rb +++ /dev/null @@ -1,81 +0,0 @@ -# http_server.rb -require 'socket' -server = TCPServer.new 8080 - -while session = server.accept - request = session.gets - puts request - - session.print "HTTP/1.1 200\r\n" # 1 - session.print "Content-Type: text/html\r\n" # 2 - session.print "\r\n" # 3 - session.print <<-EOF - - - - - - - Roští.cz - - - -
-
- -
-
-
-

Kde to jsem?

-

-

Na Roští.cz a prostředí pro vaši aplikaci je připraveno.

-

Nyní můžete obsah adresáře /srv/app vymazat a nahradit ho svoji aplikací. Pokud jste u nás poprvé, tak pomůže naše dokumentace.

-

HTTP server vaší aplikace spusťte na portu 8080. Na jiném nebude fungovat.

-
-

V případě problémů se prosím obraťte na technickou podporu nebo na dokumentaci.

-

Tým Roští.cz | @rosti_cz

-
-
- - - - EOF - - session.close -end diff --git a/examples/ruby/index.html b/examples/ruby/index.html new file mode 100644 index 0000000..c59dbae --- /dev/null +++ b/examples/ruby/index.html @@ -0,0 +1,65 @@ + + + + + + + Roští.cz + + + +
+ +
+
+

Kde to jsem?

+

+

Na Roští.cz a prostředí pro vaši aplikaci je připraveno.

+

Nyní můžete obsah adresáře /srv/app/public vymazat a nahradit ho svoji aplikací. Pokud jste u nás poprvé, tak pomůže naše dokumentace.

+

Ruby aplikace ve výchozím stavu běží na aplikačním serveru Passenger ve standalone režimu.

+
+

V případě problémů se prosím obraťte na technickou podporu nebo na dokumentaci.

+

Tým Roští.cz | @rosti_cz

+
+
+ + + diff --git a/examples/ruby/supervisor.conf b/examples/ruby/supervisor.conf index 0c0511a..3166b6a 100644 --- a/examples/ruby/supervisor.conf +++ b/examples/ruby/supervisor.conf @@ -1,5 +1,5 @@ [program:app] -command=/srv/bin/primary_tech/ruby app.rb +command=passenger start --port 8000 --log-file /dev/stdout --pid-file /srv/run/passenger.pid environment=PATH="/srv/bin/primary_tech:/usr/local/bin:/usr/bin:/bin:/srv/.npm-packages/bin" stopasgroup=true directory=/srv/app diff --git a/rosti.tmpl.sh b/rosti.tmpl.sh index 83a97a5..f94192a 100755 --- a/rosti.tmpl.sh +++ b/rosti.tmpl.sh @@ -110,6 +110,14 @@ function setTech() { echo ".. app configuration for nginx not found, adding it - please check /srv/conf/nginx.d/app.conf and make sure it fits your code" fi + if [ "$name" = "ruby" ]; then + mkdir -p /srv/app/public + rm /srv/conf/nginx.d/app.conf + mv /srv/app/index.html /srv/app/public/index.html + rm -rf /srv/conf/nginx.d + rm -f /srv/conf/supervisor.d/nginx.conf + fi + # We load new configuration into supervisor and it's automatically started or restarted if needed supervisorctl reread supervisorctl update