Geminabox va permite sa va gazduiti propriile pietre pretioase si sa impingeti noi pietre pretioase la fel ca si cu rubygems.org. API-ul pentru dependente de pachet este acceptat imediat. Autentificarea este lasata fie pe serverul web, fie pe stiva Rack. Pentru autentificarea de baza, incercati Rack :: Auth.

Cerinte de sistem

Consultati .travis.yml pentru versiunile de rubin acceptate

Configurare server

Creati un config.ru dupa cum urmeaza:

require “rubygems” require “geminabox” Geminabox.data = “/ var / geminabox-data” # … sau oriunde # Utilizati Rack :: Protection pentru a preveni vulnerabilitatea XSS si CSRF daca serverul dvs. geminabox este deschis publicului. # Rack :: Protection necesita un middleware pentru sesiune, alegeti unul preferat, cum ar fi Rack :: Session :: Memcache. # Acest exemplu foloseste Rack :: Session :: Pool pentru simplitate, dar va rugam sa retineti ca: # 1) Rack :: Session :: Pool nu este disponibil pentru servere multiproces precum unicorn # 2) Rack :: Session :: Pool cauzeaza memoria scurgere (nu expira stocat `@ pool` hash) utilizati Rack :: Session :: Pool, expire_after: 1000 # sec utilizati Rack :: Protectie ruleaza Geminabox :: Server

Porniti serverul dvs. de bijuterii cu „rackup” pentru a rula WEBrick sau conectati config.ru asa cum ati face in mod normal (pasager, subtire, unicorn, orice va pluteste barca).

Legacy RubyGems index

RubyGems accepta generarea de indici pentru asa-numitele versiuni vechi (<1.2) si, deoarece este foarte rar sa se utilizeze astfel de versiuni in zilele noastre, poate fi dezactivat, imbunatatind astfel timpii de indexare pentru depozite mari. Daca este sigur pentru aplicatia dvs., puteti dezactiva suportul pentru aceste versiuni vechi adaugand urmatoarea configuratie in fisierul config.ru:

Geminabox.build_legacy = false

RubyGems Proxy

Geminabox poate fi configurat pentru a extrage pietre pretioase, in prezent nu are, de la rubygems.org. Pentru a activa acest mod puteti fie:

Setati RUBYGEM_PROXY la adevarat in mediu:

RUBYGEMS_PROXY = rackup adevarat

Sau in config.ru (inainte de comanda de rulare), setati:

Geminabox.rubygems_proxy = adevarat

Daca doriti ca Geminabox sa continue sa furnizeze pietre pretioase atunci cand rubygems.org nu este disponibil, adaugati acest lucru la config.ru:

Geminabox.allow_remote_failure = adevarat

Adaptor HTTP

Geminabox foloseste gema HTTPClient pentru a-si gestiona conexiunile la resurse la distanta. Relatia este gestionata prin Geminabox :: HttpClientAdapter.

Pentru a configura optiunile HTTPClient, treceti propriul obiect HTTPClient in config.ru ca:

# Geminabox.http_adapter = Geminabox :: HttpClientAdapter.

mamadas en la playa follando cincuentonas
intercambio amateur peliculas porno de incesto
videos porno maduras españa orgias de maduros
porno rspañol mi primera follada
madre española follando con su hijo videos pornos muy guarros
española pillada xxx orgias
abuelas a cuatro patas porbo
putasfollando españolas pajeandose
abuelos calientes sexo camara oculta españa
me corro en su boca sin avisar hermanos jovenes follando
negros follando maduras videos porno morbosos
españolas pajeandose videos de peliculas eroticas
maduritas cachondas trios con españolas
follame xxx porno bix
madres viciosas hijas calientes
pajas entre amigos se follan a mi mujer
ancianas españolas follando zoofilia con abuelas
porno español trans viejas zoofilia
venezolanas desnudas pollas arabes
incesto clasico tias follando con animales

new # implicit Geminabox.http_adapter.http_client = HTTPClient.new (ENV [‘http_proxy’]). Atingeti face | http_client | http_client.transparent_gzip_decompression = true http_client.keep_alive_timeout = 32 # sec http_client.ssl_config.verify_mode = OpenSSL :: SSL :: VERIFY_NONE http_client.send_timeout = 0 http_client.receive_timeout = 0 end

Daca doriti sa utilizati o bijuterie HTTP alternativa, creati-va propriul adaptor si specificati-l in config.ru:

Geminabox.http_adapter = YourHttpAdapter.new

Este recomandat (dar nu esential) ca adaptorul dvs. sa mosteneasca de la HttpAdapter. Adaptorul va trebui sa inlocuiasca metodele HttpAdapter cu cele specifice bijuteriei HTTP alternative. De asemenea, ar trebui sa poata gestiona setarile proxy HTTP.

Definirea propriului adaptor va permite, de asemenea, sa configurati Geminabox pentru a utiliza certificatele SSL ale sistemelor locale.

TemplateFaradayAdapter este furnizat ca un exemplu de alternativ HTTPAdapter.

Carlige

Puteti adauga un carlig (orice apelabil) care va fi apelat atunci cand o bijuterie este primita cu succes.

Geminabox.on_gem_received = Proc.new do | gem | pune „Gem primit: # {gem.spec.name} # {gem.spec.version}” se termina

De obicei, puteti utiliza acest lucru pentru a trimite o notificare la chat-ul echipei dvs. Orice exceptie care apare in carlig este ignorata in tacere, asa ca va rugam sa va asigurati ca sunt tratate corect daca acest lucru nu este de dorit.

De asemenea, va rugam sa retineti ca acest carlig blocheaza procesarea API-urilor POST / upload si POST / api / v1 / gems. Autorii Hook sunt responsabili sa efectueze orice actiune care nu blocheaza / asincronizeaza pentru a evita expirarea HTTP.

Utilizarea clientului

De la versiunea 0.10, Geminabox accepta API-ul standard push cutter:

gem push pkg / my-awesome-gem-1.0.gem –host HOST

De asemenea, puteti utiliza pluginul pentru bijuterii:

gem instaleaza geminabox gem inabox pkg / my-awesome-gem-1.0.gem

Si incepand cu versiunea 1.2.0, Geminabox accepta API-ul standard de taiere de gem gemter:

gem yank my-awesome-gem -v 1.0 –host HOST

Configurati Gem intr-o caseta (prompt interactiv pentru a specifica unde sa incarcati):

Schimbati gazda in care sa incarcati:

Simplu!

Linie de comanda Ajutor

Utilizare: gem inabox GEM [optiuni] Optiuni: -c, –configure Configure GemInABox -g, –host HOST Host pe care sa-l incarcati. -o, –overwrite Overwrite Gem. Optiuni obisnuite: -h, –help Obtineti ajutor pentru aceasta comanda -V, – [nu-] detaliat Setati nivelul detaliat al iesirii -q, –quiet Comenzi Silentiere –config-fisier FILE Utilizati acest fisier de configurare in loc de implicit – backtrace Afisare backtrace stiva la erori – debug Activare debugging Ruby Argumente: GEM construit bijuterie pentru a impinge in sus Rezumat: Impingeti o bijuterie in GemInABox dvs. Descriere: Impingeti o bijuterie in GemInABox

Docher

Folosirea Gem in a Box este foarte simpla cu Dockerfile. Mutati acest fisier Docker intr-un director pe care doriti sa il utilizati pentru serverul dvs.

Directorul respectiv trebuie sa contina doar:

config.ru (explicat mai sus) Gemfile Gemfile.lock

Fisierul dvs. Gem are nevoie doar de:

sursa ‘https://rubygems.org’ gem ‘geminabox’

De acolo

docker build -t geminabox.
docker run -d -p 9292: 9292 geminabox: ultima

Serverul dvs. ar trebui sa ruleze acum!

Licenta

MIT_LICENSE

ChangeLog

CHANGELOG.md