Commit | Line | Data |
---|---|---|
7e738616 S |
1 | # DOCKER-VERSION 0.6.4 |
2 | ||
3 | # 13.10 - 04 has a missing ppa for postgresql 9.2 at the moment (26/10/2013) | |
4 | FROM ubuntu:12.10 | |
5 | ||
6 | MAINTAINER Sam Saffron "https://twitter.com/samsaffron" | |
7 | ||
8 | RUN apt-get -y update &&\ | |
9 | apt-get -y upgrade &&\ | |
10 | apt-get -y install software-properties-common &&\ | |
11 | add-apt-repository -y ppa:rwky/redis &&\ | |
12 | add-apt-repository -y ppa:nginx/stable &&\ | |
13 | add-apt-repository -y ppa:pitti/postgresql &&\ | |
14 | add-apt-repository ppa:chris-lea/node.js &&\ | |
15 | apt-get -y update &&\ | |
16 | apt-get install -y build-essential git curl libxml2-dev \ | |
17 | libxslt-dev libcurl4-openssl-dev \ | |
18 | libssl-dev libyaml-dev libtool \ | |
19 | libxslt-dev libxml2-dev gawk curl \ | |
20 | pngcrush imagemagick \ | |
21 | postgresql-9.2 postgresql-client-9.2 \ | |
22 | postgresql-contrib-9.2 libpq-dev libreadline-dev \ | |
fdac0b60 SS |
23 | nginx wget language-pack-en sudo cron \ |
24 | psmisc &&\ | |
7e738616 S |
25 | dpkg-divert --local --rename --add /sbin/initctl &&\ |
26 | ln -s /bin/true /sbin/initctl &&\ | |
357fbf8a | 27 | apt-get install -y redis-server haproxy openssh-server &&\ |
fdac0b60 | 28 | echo 'gem: --no-document' >> /etc/gemrc &&\ |
b86ac1af MB |
29 | mkdir /src && cd /src &&\ |
30 | git clone https://github.com/sstephenson/ruby-build.git && cd / &&\ | |
31 | cd /src/ruby-build &&\ | |
32 | ./install.sh && cd / &&\ | |
7e738616 S |
33 | rm -rf /src/ruby-build &&\ |
34 | ruby-build 2.0.0-p247 /usr/local &&\ | |
35 | gem update --system &&\ | |
b86ac1af | 36 | gem install bundler --pre &&\ |
fdac0b60 SS |
37 | cd / && git clone https://github.com/SamSaffron/pups.git |
38 | ||
39 | RUN mkdir /jemalloc && cd /jemalloc && wget http://www.canonware.com/download/jemalloc/jemalloc-3.4.1.tar.bz2 &&\ | |
40 | tar -xvjf jemalloc-3.4.1.tar.bz2 && cd jemalloc-3.4.1 && ./configure && make &&\ | |
41 | mv lib/libjemalloc.so.1 /usr/lib && cd / $$ rm -rf /jemalloc &&\ | |
42 | apt-get install -y runit && apt-get clean && locale-gen en_US | |
43 | ||
44 | # Discourse specific bits | |
45 | RUN useradd discourse -s /bin/bash -m -U &&\ | |
b86ac1af | 46 | mkdir /var/www && cd /var/www &&\ |
fdac0b60 | 47 | git clone --depth 1 https://github.com/discourse/discourse.git &&\ |
b86ac1af MB |
48 | chown -R discourse:discourse /var/www/discourse && cd / &&\ |
49 | cd /var/www/discourse &&\ | |
fdac0b60 SS |
50 | sudo -u discourse RAILS4=1 bundle install -j4 --deployment \ |
51 | --without test --without development &&\ | |
b86ac1af | 52 | cd /var/www/discourse/vendor/bundle &&\ |
fdac0b60 | 53 | find . -name tmp -type d | xargs rm -rf && cd / |
7e738616 | 54 | |
b86ac1af | 55 | |
fdac0b60 SS |
56 | # For a smaller but less flexible image: |
57 | #RUN apt-get -y autoremove build-essential gcc gcc-4.7 .+-dev | |
58 | #RUN echo image size: $(du -hsx /) | |
d93d239c | 59 | |
7e738616 S |
60 | # RUN cd /var/www/discourse && bundle exec rake db:test:prepare && bundle exec rspec |
61 | ||
62 | # mkdir -p /src/godeb && cd /src/godeb && curl -O https://godeb.s3.amazonaws.com/godeb-amd64.tar.gz &&\ | |
63 | # cd /src/godeb && tar -xzvf godeb-amd64.tar.gz &&\ | |
64 | # cd /src/godeb && ./godeb install &&\ | |
65 | # cd /src && git clone https://github.com/coreos/etcd.git &&\ | |
66 | # cd /src/etcd && ./build &&\ | |
67 | # cp /src/etcd/etcd /usr/local/bin &&\ |