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