mirror of https://github.com/fspc/bikeshed.git
Jonathan Rosenbaum
10 years ago
commit
995f8b4d9c
6 changed files with 124 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||||
|
############ |
||||
|
# BikeShed # |
||||
|
############ |
||||
|
# login for test users on website |
||||
|
|
||||
|
FROM bikebike/bikebike |
||||
|
MAINTAINER Jonathan Rosenbaum <gnuser@gmail.com> |
||||
|
|
||||
|
RUN git clone git://github.com/spacemunkay/BikeShed.git |
||||
|
RUN gem install bundler |
||||
|
RUN apt-get update && apt-get -y install libpq-dev postgresql-9.3 g++ unzip |
||||
|
RUN bundle install --gemfile=/BikeShed/Gemfile; \ |
||||
|
cd /BikeShed; gem install rake -v '10.1.1'; \ |
||||
|
gem install therubyracer -v '0.10.2' |
||||
|
COPY pg_hba.conf /etc/postgresql/9.3/main/pg_hba.conf |
||||
|
|
||||
|
# Because of an undefined constant SeedBike |
||||
|
COPY seeds.rb /BikeShed/db/seeds.rb |
||||
|
RUN cp /BikeShed/config/database.yml.example /BikeShed/config/database.yml; \ |
||||
|
service postgresql start; \ |
||||
|
cd /BikeShed; \ |
||||
|
sudo -u postgres -i createuser -d -w velocipede; \ |
||||
|
adduser --disabled-password --gecos "" velocipede; \ |
||||
|
sudo -u velocipede -i createdb -U velocipede --owner=velocipede velocipede; \ |
||||
|
sudo -u velocipede -i createdb -U velocipede --owner=velocipede velocipede_test; \ |
||||
|
|
||||
|
bundle exec rake db:create db:migrate; \ |
||||
|
bundle exec rake db:seed |
||||
|
|
||||
|
|
||||
|
COPY postgresql.conf bikeshed.conf /etc/supervisor/conf.d/ |
||||
|
#COPY bikeshed.conf /etc/supervisor/conf.d/ |
||||
|
COPY extjs-4.1.1.zip /BikeShed/ |
||||
|
|
||||
|
RUN cd /BikeShed; \ |
||||
|
unzip extjs-4.1.1.zip; \ |
||||
|
ln -s /BikeShed/ext-4.1.1a /BikeShed/public/extjs |
||||
|
|
||||
|
CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"] |
||||
|
|
||||
|
# docker run -d -p 3000:3000 --name="freehub" bikebike/freehub |
||||
|
|
@ -0,0 +1,5 @@ |
|||||
|
[program:bikeshed] |
||||
|
priority=200 |
||||
|
directory=/BikeShed |
||||
|
command=rails s |
||||
|
autorestart=false |
Binary file not shown.
@ -0,0 +1,11 @@ |
|||||
|
# Database administrative login by Unix domain socket |
||||
|
local all postgres peer |
||||
|
|
||||
|
# TYPE DATABASE USER ADDRESS METHOD |
||||
|
|
||||
|
# "local" is for Unix domain socket connections only |
||||
|
local all all peer |
||||
|
# IPv4 local connections: |
||||
|
host all all 127.0.0.1/32 trust |
||||
|
# IPv6 local connections: |
||||
|
host all all ::1/128 md5 |
@ -0,0 +1,7 @@ |
|||||
|
[program:postgres] |
||||
|
priority = 100 |
||||
|
user = postgres |
||||
|
command = /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf |
||||
|
autostart = true |
||||
|
autorestart = true |
||||
|
startsecs = 10 |
@ -0,0 +1,59 @@ |
|||||
|
# This file should contain all the record creation needed to seed the database with its default values. |
||||
|
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). |
||||
|
# |
||||
|
# Examples: |
||||
|
# |
||||
|
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) |
||||
|
# Mayor.create(name: 'Emanuel', city: cities.first) |
||||
|
require 'active_record/fixtures' |
||||
|
|
||||
|
#Load defaults from db/seed/fixtures |
||||
|
Dir.glob(File.join(Rails.root, 'db', 'seed', 'fixtures', '**', '*.{yml,csv}')).each do |fixture_file, something| |
||||
|
ActiveRecord::Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*')) |
||||
|
end |
||||
|
|
||||
|
#Load bike brands and models from sql |
||||
|
if BikeBrand.all.empty? and BikeModel.all.empty? |
||||
|
# Need to use DEFAULT instead of explicit IDs that are used in the sql file, |
||||
|
# so that the PG table ID sequence is incremented |
||||
|
# |
||||
|
# Note the drop(1) which assumes we have a junk PRAGMA line at the top |
||||
|
load_statements = File.readlines(File.join(Rails.root, 'db', 'seed', 'sql', 'bike_brands_and_models.sql')).drop(1).map do |statement| |
||||
|
statement.sub(/VALUES\(\d+,/, 'VALUES(DEFAULT,') |
||||
|
end |
||||
|
ActiveRecord::Base.connection.execute(load_statements.join) |
||||
|
end |
||||
|
|
||||
|
if Rails.env.development? |
||||
|
|
||||
|
#create default users |
||||
|
if User.all.empty? |
||||
|
u = FactoryGirl.create(:user) |
||||
|
FactoryGirl.create(:user_profile, user_id: u.id) |
||||
|
u = FactoryGirl.create(:staff) |
||||
|
FactoryGirl.create(:user_profile, user_id: u.id) |
||||
|
u = FactoryGirl.create(:bike_admin) |
||||
|
FactoryGirl.create(:user_profile, user_id: u.id) |
||||
|
u = FactoryGirl.create(:admin) |
||||
|
FactoryGirl.create(:user_profile, user_id: u.id) |
||||
|
end |
||||
|
|
||||
|
#create fake bikes |
||||
|
if Bike.all.empty? |
||||
|
42.times do |n| |
||||
|
# FactoryGirl.create(:seed_bike) |
||||
|
end |
||||
|
end |
||||
|
elsif Rails.env.production? |
||||
|
|
||||
|
unless User.find_by_username('admin') |
||||
|
#create an admin |
||||
|
admin = User.create!( :username => 'admin', |
||||
|
:first_name => 'admin', |
||||
|
:last_name => 'admin', |
||||
|
:email=>'admin@example.com', |
||||
|
:password=>'password') |
||||
|
admin.roles << Role.find_by_role('admin') |
||||
|
end |
||||
|
|
||||
|
end |
Loading…
Reference in new issue