diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml
index a3d60515..cdc4e1d2 100644
--- a/.github/workflows/docker-build.yml
+++ b/.github/workflows/docker-build.yml
@@ -15,6 +15,8 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v3
+ - name: Submodule Update
+ run: git submodule update --init --recursive
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf
- name: Login To registry ${{ env.REGISTRY }}
@@ -22,7 +24,7 @@ jobs:
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
+ password: ${{ secrets.GH_TOKEN }}
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
diff --git a/.gitignore b/.gitignore
index af1b9b2c..35697e37 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,6 @@
node_modules/
package-lock.json
yarn.lock
-Gemfile.lock
.env
settings.yml
.bundle/
diff --git a/Gemfile b/Gemfile
index 263ff77c..4468198a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,6 +2,7 @@
source "https://rubygems.org"
+ruby ">= 3.0.0"
gem "sinatra"
gem "sinatra-contrib"
gem "puma"
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 00000000..ec20b349
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,105 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ colorize (1.1.0)
+ concurrent-ruby (1.2.2)
+ config (4.2.1)
+ deep_merge (~> 1.2, >= 1.2.1)
+ dry-validation (~> 1.0, >= 1.0.0)
+ deep_merge (1.2.2)
+ dry-configurable (1.1.0)
+ dry-core (~> 1.0, < 2)
+ zeitwerk (~> 2.6)
+ dry-core (1.0.1)
+ concurrent-ruby (~> 1.0)
+ zeitwerk (~> 2.6)
+ dry-inflector (1.0.0)
+ dry-initializer (3.1.1)
+ dry-logic (1.5.0)
+ concurrent-ruby (~> 1.0)
+ dry-core (~> 1.0, < 2)
+ zeitwerk (~> 2.6)
+ dry-schema (1.13.2)
+ concurrent-ruby (~> 1.0)
+ dry-configurable (~> 1.0, >= 1.0.1)
+ dry-core (~> 1.0, < 2)
+ dry-initializer (~> 3.0)
+ dry-logic (>= 1.4, < 2)
+ dry-types (>= 1.7, < 2)
+ zeitwerk (~> 2.6)
+ dry-types (1.7.1)
+ concurrent-ruby (~> 1.0)
+ dry-core (~> 1.0)
+ dry-inflector (~> 1.0)
+ dry-logic (~> 1.4)
+ zeitwerk (~> 2.6)
+ dry-validation (1.10.0)
+ concurrent-ruby (~> 1.0)
+ dry-core (~> 1.0, < 2)
+ dry-initializer (~> 3.0)
+ dry-schema (>= 1.12, < 2)
+ zeitwerk (~> 2.6)
+ encrypted_cookie (0.1.0)
+ rack (>= 1.1, < 3)
+ ffi (1.15.5)
+ listen (3.8.0)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ multi_json (1.15.0)
+ mustermann (3.0.0)
+ ruby2_keywords (~> 0.0.1)
+ nio4r (2.5.9)
+ os (1.1.4)
+ puma (6.3.0)
+ nio4r (~> 2.0)
+ rack (2.2.8)
+ rack-protection (3.1.0)
+ rack (~> 2.2, >= 2.2.4)
+ rack-proxy (0.7.6)
+ rack
+ rack-reverse-proxy (0.12.0)
+ rack (>= 1.0.0)
+ rack-proxy (~> 0.6, >= 0.6.1)
+ rack_csrf (2.7.0)
+ rack (>= 1.1.0)
+ rb-fsevent (0.11.2)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ rerun (0.14.0)
+ listen (~> 3.0)
+ ruby2_keywords (0.0.5)
+ sinatra (3.1.0)
+ mustermann (~> 3.0)
+ rack (~> 2.2, >= 2.2.4)
+ rack-protection (= 3.1.0)
+ tilt (~> 2.0)
+ sinatra-contrib (3.1.0)
+ multi_json
+ mustermann (~> 3.0)
+ rack-protection (= 3.1.0)
+ sinatra (= 3.1.0)
+ tilt (~> 2.0)
+ tilt (2.2.0)
+ yaml (0.2.1)
+ zeitwerk (2.6.11)
+
+PLATFORMS
+ x86_64-linux
+
+DEPENDENCIES
+ colorize
+ config
+ dry-schema
+ dry-validation
+ encrypted_cookie
+ os
+ puma
+ rack-reverse-proxy
+ rack_csrf
+ rerun
+ sinatra
+ sinatra-contrib
+ yaml
+
+BUNDLED WITH
+ 2.4.13
diff --git a/README.md b/README.md
index 5056cc74..bc4f9c1f 100644
--- a/README.md
+++ b/README.md
@@ -26,13 +26,6 @@
src="https://raw.githubusercontent.com/BinBashBanana/deploy-buttons/main/buttons/remade/render.svg"
/>
-
-
-
-
diff --git a/config/settings.example.yml b/config/settings.example.yml
index dac14502..647dd1be 100644
--- a/config/settings.example.yml
+++ b/config/settings.example.yml
@@ -3,4 +3,4 @@ verboseLogging: "false"
private: "false"
username: "ruby"
password: "ruby"
-mainURL: ""
+mainURL: "http://localhost:9293/"
diff --git a/docker/Dockerfile b/docker/Dockerfile
index c98cf54e..263b0f4e 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -6,12 +6,11 @@ COPY . .
RUN apt update && apt install -y ruby-full
# Installing Bundler
RUN gem install bundler
-# Install Node.js dependencies
-RUN npm install
-# Install Ruby dependencies
-RUN bundle install
+RUN yarn install
# Setup a basic configuration
RUN cp config/settings.example.yml config/settings.yml
+# Mount config/settings.yml as a volume
+VOLUME /usr/src/app/config/settings.yml
# Run the app
EXPOSE 9293
CMD yarn start
diff --git a/docker/docker-compose.build.yml b/docker/docker-compose.build.yml
index 027f1b13..0451ae21 100644
--- a/docker/docker-compose.build.yml
+++ b/docker/docker-compose.build.yml
@@ -8,6 +8,8 @@ services:
ports:
# DO NOT CHANGE 9293!
- your port here:9293
+ volumes:
+ - ./config.yml:/usr/src/app/config/settings.yml
#networks:
# default:
# external:
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 253134d5..82ede779 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -1,12 +1,14 @@
version: '2'
services:
- ruby:
- restart: unless-stopped
- image: 'ghcr.io/ruby-network/ruby:main'
- ports:
- #DO NOT CHANGE 9293!
- - your port here:9293
+ ruby:
+ restart: unless-stopped
+ image: 'ghcr.io/ruby-network/ruby'
+ ports:
+ #DO NOT CHANGE 9293!
+ - 9293:9293
+ volumes:
+ - ./config.yml:/usr/src/app/config/settings.yml
#networks:
-# default:
-# external:
-# name: default_net
+ # default:
+ # external:
+ # name: default_net
diff --git a/node-server/server.js b/node-server/server.js
index 2d452779..b71007e9 100644
--- a/node-server/server.js
+++ b/node-server/server.js
@@ -60,5 +60,5 @@ app.get('/search=:query', async (req, res) => {
}
});
-app.listen({ port: nodePort });
+app.listen({ port: nodePort, host: '0.0.0.0' });
console.log(chalk.green(`Server listening on port ${chalk.red(nodePort)}`));
diff --git a/package.json b/package.json
index e3e86dd5..3e92123e 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,9 @@
"start": "bundle exec puma -e production",
"install": "bundle install && npm run build",
"build": "node ./build.js"
+ },
+ "engines": {
+ "node": ">=18.0.0"
},
"dependencies": {
"@fastify/http-proxy": "^9.2.1",
diff --git a/render.yaml b/render.yaml
new file mode 100644
index 00000000..36cb5e50
--- /dev/null
+++ b/render.yaml
@@ -0,0 +1,6 @@
+services:
+ - type: web
+ name: ruby
+ plan: free
+ env: docker
+ image: https://ghcr.io/ruby-network/ruby:main