-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 0a2ee6b
Showing
15 changed files
with
504 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/.vagrant |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
FROM abevoelker/ruby | ||
MAINTAINER Abe Voelker <[email protected]> | ||
|
||
# Set up application user 'openproject' and check out source | ||
RUN adduser openproject --home /home/openproject --shell /bin/bash --disabled-password --gecos "" &&\ | ||
mkdir -p /var/www/openproject &&\ | ||
git clone https://github.com/opf/openproject.git -b stable --single-branch /var/www/openproject &&\ | ||
mkdir -p /var/www/openproject/docker/scripts | ||
|
||
COPY Gemfile.local /var/www/openproject/ | ||
|
||
RUN chown -R openproject:openproject /var/www/openproject | ||
|
||
USER openproject | ||
|
||
RUN cd /var/www/openproject &&\ | ||
bundle install --without mysql mysql2 sqlite development test rmagick --path vendor/bundle | ||
|
||
USER root | ||
|
||
COPY database.yml /var/www/openproject/config/ | ||
COPY configuration.yml /var/www/openproject/config/ | ||
COPY scripts /var/www/openproject/docker/scripts | ||
|
||
RUN chown -R openproject:openproject /var/www/openproject &&\ | ||
chmod u+x /var/www/openproject/docker/scripts/*.sh | ||
|
||
# Add nginx configuration | ||
ADD nginx/nginx.conf /etc/nginx/ | ||
ADD nginx/sites-available/openproject.conf /etc/nginx/sites-available/ | ||
RUN chown -R openproject:openproject /etc/nginx/sites-available &&\ | ||
chown -R openproject:openproject /etc/nginx/sites-enabled &&\ | ||
cd /etc/nginx/sites-enabled &&\ | ||
rm default &&\ | ||
ln -s ../sites-available/openproject.conf | ||
|
||
# Add supervisord configs | ||
ADD supervisord/rails.conf /etc/supervisor/conf.d/ | ||
ADD supervisord/nginx.conf /etc/supervisor/conf.d/ | ||
|
||
CMD ["/var/www/openproject/docker/scripts/run_rails.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
group :production do | ||
gem 'puma' | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# -*- mode: ruby -*- | ||
# vi: set ft=ruby : | ||
|
||
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | ||
VAGRANTFILE_API_VERSION = "2" | ||
|
||
ENV['VAGRANT_DEFAULT_PROVIDER'] ||= 'docker' | ||
|
||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | ||
config.vm.define "postgres" do |postgres| | ||
postgres.vm.provider 'docker' do |d| | ||
d.image = 'paintedfox/postgresql' | ||
d.name = 'openproject_postgres' | ||
d.env = { | ||
'USER' => 'super', | ||
'PASS' => 'password' | ||
} | ||
end | ||
end | ||
|
||
config.vm.define "memcached" do |memcached| | ||
memcached.vm.provider 'docker' do |d| | ||
d.image = 'tutum/memcached' | ||
d.name = 'openproject_memcached' | ||
d.env = { | ||
'MEMCACHED_PASS' => 'password' | ||
} | ||
end | ||
end | ||
|
||
config.vm.define "openproject" do |openproject| | ||
openproject.vm.provider 'docker' do |d| | ||
d.image = 'abevoelker/openproject' | ||
d.name = 'openproject' | ||
d.cmd = ['/var/www/openproject/docker/scripts/run_rails.sh'] | ||
|
||
d.link('openproject_postgres:postgres') | ||
d.link('openproject_memcached:memcached') | ||
end | ||
end | ||
|
||
config.vm.define "openproject_delayed_job" do |openproject| | ||
openproject.vm.provider 'docker' do |d| | ||
d.image = 'abevoelker/openproject' | ||
d.name = 'openproject_delayed_job' | ||
d.cmd = ['/var/www/openproject/docker/scripts/run_background_job.sh'] | ||
|
||
d.link('openproject_postgres:postgres') | ||
d.link('openproject_memcached:memcached') | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,203 @@ | ||
#-- copyright | ||
# OpenProject is a project management system. | ||
# Copyright (C) 2012-2014 the OpenProject Foundation (OPF) | ||
# | ||
# This program is free software; you can redistribute it and/or | ||
# modify it under the terms of the GNU General Public License version 3. | ||
# | ||
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: | ||
# Copyright (C) 2006-2013 Jean-Philippe Lang | ||
# Copyright (C) 2010-2013 the ChiliProject Team | ||
# | ||
# This program is free software; you can redistribute it and/or | ||
# modify it under the terms of the GNU General Public License | ||
# as published by the Free Software Foundation; either version 2 | ||
# of the License, or (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program; if not, write to the Free Software | ||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
# | ||
# See doc/COPYRIGHT.rdoc for more details. | ||
#++ | ||
|
||
# = OpenProject configuration file | ||
# | ||
# Each environment has it's own configuration options. If you are only | ||
# running in production, only the production block needs to be configured. | ||
# Environment specific configuration options override the default ones. | ||
# | ||
# Note that this file needs to be a valid YAML file. | ||
# | ||
# Instead of using a configuration.yml file, you can configure OpenProject via | ||
# environment variables. See doc/CONFIGURATION.md for more information. | ||
# | ||
# | ||
# == Outgoing email settings (email_delivery setting) | ||
# | ||
# === Common configurations | ||
# | ||
# ==== Sendmail command | ||
# | ||
# production: | ||
# email_delivery_method: :sendmail | ||
# | ||
# ==== Simple SMTP server at localhost | ||
# | ||
# production: | ||
# email_delivery_method: "smtp" | ||
# smtp_address: "localhost" | ||
# smtp_port: 25 | ||
# | ||
# ==== SMTP server at example.com using LOGIN authentication and checking HELO for foo.com | ||
# | ||
# production: | ||
# email_delivery_method: "smtp" | ||
# smtp_address: "example.com" | ||
# smtp_port: 25 | ||
# smtp_authentication: :login | ||
# smtp_domain: 'foo.com' | ||
# smtp_user_name: 'myaccount' | ||
# smtp_password: 'password' | ||
# | ||
# ==== SMTP server at example.com using PLAIN authentication | ||
# | ||
# production: | ||
# email_delivery_method: "smtp" | ||
# smtp_address: "example.com" | ||
# smtp_port: 25 | ||
# smtp_authentication: :plain | ||
# smtp_domain: 'example.com' | ||
# smtp_user_name: 'myaccount' | ||
# smtp_password: 'password' | ||
# | ||
# ==== SMTP server at using TLS (GMail) | ||
# | ||
# This requires some additional configuration. See the article at: | ||
# http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/ | ||
# | ||
# production: | ||
# email_delivery_method: "smtp" | ||
# smtp_enable_starttls_auto: true | ||
# smtp_address: "smtp.gmail.com" | ||
# smtp_port: 587 | ||
# smtp_domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps | ||
# smtp_authentication: :plain | ||
# smtp_user_name: "[email protected]" | ||
# smtp_password: "your_password" | ||
# | ||
# | ||
# === More configuration options | ||
# | ||
# See following page: | ||
# | ||
# http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration | ||
|
||
|
||
# default configuration options for all environments | ||
default: | ||
# Outgoing emails configuration (see examples above) | ||
email_delivery_method: :smtp | ||
smtp_address: smtp.example.net | ||
smtp_port: 25 | ||
smtp_domain: example.net | ||
smtp_authentication: :login | ||
smtp_user_name: "[email protected]" | ||
smtp_password: "my_openproject_password" | ||
|
||
# Prefix to the url-path. This path is then prepended to all | ||
# the routes and is used to correclty identify the path to the assets. | ||
# Defaults to having no prefix. | ||
# Examples: | ||
# For OpenProject to be reachable as | ||
# https://example.org/open_project | ||
# the setting has o be: | ||
# rails_relative_url_root: "/open_project" | ||
# | ||
# rails_relative_url_root: "" | ||
|
||
# Absolute path to the directory where attachments are stored. | ||
# The default is the 'files' directory in your OpenProject instance. | ||
# Your OpenProject instance needs to have write permission on this | ||
# directory. | ||
# Examples: | ||
# attachments_storage_path: /var/openproject/files | ||
# attachments_storage_path: | ||
|
||
# Configuration of the autologin cookie. | ||
# autologin_cookie_name: the name of the cookie (default: autologin) | ||
# autologin_cookie_path: the cookie path (default: /) | ||
# autologin_cookie_secure: true sets the cookie secure flag (default: false) | ||
# autologin_cookie_name: | ||
# autologin_cookie_path: | ||
# autologin_cookie_secure: | ||
|
||
# disable browser cache for security reasons | ||
# see: https://websecuritytool.codeplex.com/wikipage?title=Checks#http-cache-control-header-no-store | ||
# disable_browser_cache: true | ||
|
||
# use memcache for performance, memcached must be installed | ||
#rails_cache_store: :memcache | ||
|
||
# defines where session data is stored | ||
# possible values are :cookie_store, :cache_store, :active_record_store | ||
session_store: :cache_store | ||
|
||
# Configuration of SCM executable command. | ||
# Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe) | ||
# On Windows, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work. | ||
# Examples: | ||
# scm_subversion_command: svn # (default: svn) | ||
# scm_git_command: /usr/local/bin/git # (default: git) | ||
# scm_subversion_command: | ||
# scm_git_command: | ||
|
||
# Key used to encrypt sensitive data in the database (SCM and LDAP passwords). | ||
# If you don't want to enable data encryption, just leave it blank. | ||
# WARNING: losing/changing this key will make encrypted data unreadable. | ||
# | ||
# If you want to encrypt existing passwords in your database: | ||
# * set the cipher key here in your configuration file | ||
# * encrypt data using 'rake db:encrypt RAILS_ENV=production' | ||
# | ||
# If you have encrypted data and want to change this key, you have to: | ||
# * decrypt data using 'rake db:decrypt RAILS_ENV=production' first | ||
# * change the cipher key here in your configuration file | ||
# * encrypt data using 'rake db:encrypt RAILS_ENV=production' | ||
# database_cipher_key: | ||
# | ||
# Omniauth direct login: | ||
# | ||
# Per default the user may choose the usual password login as well as several omniauth providers | ||
# on the login page and in the login drop down menu. | ||
# | ||
# With his configuration option you can set a specific omniauth provider to be | ||
# used for direct login. Meaning that the login provider selection is skipped and | ||
# the configured provider is used directly instead. | ||
# | ||
# If this option is active /login will lead directly to the configured omniauth provider | ||
# and so will a click on 'Sign in' (as opposed to opening the drop down menu). | ||
# | ||
# Note that this does not stop a user from manually navigating to any other | ||
# omniauth provider if additional ones are configured. | ||
# omniauth_direct_login_provider: developer | ||
# | ||
# disable_password_login: true | ||
|
||
# specific configuration options for production environment | ||
# that overrides the default ones | ||
# production: | ||
|
||
# specific configuration options for development environment | ||
# that overrides the default ones | ||
development: | ||
email_delivery_method: :letter_opener | ||
|
||
# Configuration for the test environment | ||
test: | ||
email_delivery_method: :test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
production: | ||
adapter: postgresql | ||
database: openproject | ||
host: <%= ENV['POSTGRES_PORT_5432_TCP_ADDR'] %> | ||
username: openproject | ||
password: <%= ENV['POSTGRES_ENV_PASS'] %> | ||
encoding: utf8 |
Oops, something went wrong.