Giter Club home page Giter Club logo

hustodemon / software-o-o Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opensuse/software-o-o

0.0 2.0 0.0 12.63 MB

The site behind software.opensuse.org. It is the default web interface to download openSUSE distribution and to search for OBS packages.Packages at https://build.opensuse.org/project/show/openSUSE:infrastructure:software.opensuse.org

Home Page: http://software.opensuse.org/

Ruby 44.09% JavaScript 2.61% CSS 12.68% HTML 40.62%

software-o-o's Introduction

software.opensuse.org

Build Status

Ruby on Rails application powering https://software.opensuse.org

We hope you'll get involved! Read our Contributors' Guide for details.

Installing dependencies in a (open)SUSE system

zypper ref
zypper in ruby ruby-devel rubygem-bundler gcc make libxml2-devel libxslt-devel

Running the application locally

Just for running it in development mode. If you are playing to deploy it in a server, please apply good Ruby on Rails practices (like generating your own keys for secrets.yml).

git clone https://github.com/openSUSE/software-o-o.git
cd software-o-o
git submodule init
git submodule update

bundle package
bundle exec rails s

Enjoy your software.opensuse.org clone at http://127.0.0.1:3000/

Running the application in production

The application will take the following environment variables:

  • SECRET_KEY_BASE: See Encrypted Session Storage in Rails documentation.
  • API_USERNAME and API_PASSWORD: Credentials to the Open Build Service API end-point
    • These can be replaced with OPENSUSE_COOKIE if you have admin access to the Open Build Service instance.
  • RAILS_ENV

Puma will honor other variables too:

  • WEB_CONCURRENCY
  • RAILS_MAX_THREADS
  • PORT
  • RACK_ENV

Memcache

memcache should be running. It seems to be hardcoded in environments/production.rb to localhost:11211. This probably needs to be fixed, as the dalli gem, automatically uses MEMCACHE_SERVERS env variable or 127.0.0.1:11211 as default.

PaaS

If you plan to run the application on PaaS, make sure you set all the above variables correctly.

Official instance

The official instance is deployed using an rpm package. The rpm package bundles all the required gems.

There is a software_opensuse_org.service you can control via systemd.

The systemd service will read the variables described above from /etc/software_opensuse_org.conf in the form of an EnvironmentFile:

VAR1=value1
VAR2=value2
...

Development environment using Vagrant

There is also a Vagrant setup to create our development environment. All the tools needed for this are available for Linux, MacOS and Windows.

  1. Install Vagrant and docker. Both tools support Linux, MacOS and Windows.

  2. Clone this code repository:

    git clone --recurse-submodules [email protected]:openSUSE/software-o-o.git
    
  3. Build your Vagrant box:

    vagrant up
    
  4. Attach to your new development box

    docker attach software_web
    
  5. Setup the database

    rake db:setup db:seed
    
  6. Start the app

    rails server
    
  7. Enjoy your software.opensuse.org clone at http://127.0.0.1:3000/

If you exit the shell inside the vagrant box your development environment is stopped. Want to continue? Run vagrant up and docker attach software_web again. Happy hacking!

software-o-o's People

Contributors

digitaltom avatar coolo avatar ancorgs avatar dmacvicar avatar lnussel avatar hennevogel avatar adrianschroeter avatar prusnak avatar ana06 avatar scootergrisen avatar skriesch avatar wantoyek avatar belphegor-belbel avatar ajaeger avatar fsundermeyer avatar freekdk avatar mailaender avatar gianvacca avatar wantoyo avatar javierllorente avatar elchevive avatar embar- avatar ramaxlo avatar alexminton avatar stefan1241 avatar wsxy162 avatar super7ramp avatar victorhck avatar sysrich avatar hayyan71 avatar

Watchers

James Cloos avatar Frantisek Kobzik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.