mirror of
				https://github.com/fspc/bikeshed.git
				synced 2025-11-04 08:05:36 -05:00 
			
		
		
		
	History is made for the first demo of Bikeshed
This commit is contained in:
		
						commit
						995f8b4d9c
					
				
							
								
								
									
										42
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -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 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										5
									
								
								bikeshed.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								bikeshed.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					[program:bikeshed]
 | 
				
			||||||
 | 
					priority=200
 | 
				
			||||||
 | 
					directory=/BikeShed
 | 
				
			||||||
 | 
					command=rails s
 | 
				
			||||||
 | 
					autorestart=false
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								extjs-4.1.1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								extjs-4.1.1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										11
									
								
								pg_hba.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								pg_hba.conf
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
				
			||||||
							
								
								
									
										7
									
								
								postgresql.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								postgresql.conf
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
				
			||||||
							
								
								
									
										59
									
								
								seeds.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								seeds.rb
									
									
									
									
									
										Normal file
									
								
							@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user