about ready to start testingabout ready to start testing
This commit is contained in:
parent
bf6a0dc199
commit
c7b081f5b9
14
Dockerfile
14
Dockerfile
@ -3,6 +3,15 @@ FROM phusion/baseimage:0.11
|
||||
# Use baseimage-docker's init system.
|
||||
CMD ["/sbin/my_init"]
|
||||
|
||||
ENV \
|
||||
RUN_DB_MIGRATIONS=true \
|
||||
SIDEKIQ_WORKERS=5 \
|
||||
RAILS_SERVE_STATIC_FILES=true \
|
||||
RAILS_ENV=production \
|
||||
NODE_ENV=production \
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/mastodon/app/bin
|
||||
|
||||
|
||||
# install os prereq stuff to image
|
||||
ADD prereqs.sh /tmp/prereqs.sh
|
||||
RUN bash /tmp/prereqs.sh
|
||||
@ -10,6 +19,8 @@ RUN bash /tmp/prereqs.sh
|
||||
# install mastodon:
|
||||
ADD install.sh /tmp/install.sh
|
||||
|
||||
WORKDIR /mastodon
|
||||
ENV HOME /mastodon
|
||||
RUN chpst -u mastodon:mastodon bash /tmp/install.sh
|
||||
|
||||
ADD ./rootfs /
|
||||
@ -19,3 +30,6 @@ RUN chmod +x /usr/local/bin/* /etc/service/*/run
|
||||
VOLUME /state
|
||||
|
||||
EXPOSE 3000 4000
|
||||
|
||||
LABEL maintainer="Jeffrey Paul <sneak@sneak.berlin>" \
|
||||
description="Your self-hosted, globally interconnected microblogging community"
|
||||
|
7
Makefile
7
Makefile
@ -1,4 +1,9 @@
|
||||
NAME := sneak/mastodon
|
||||
|
||||
default: build
|
||||
|
||||
build:
|
||||
docker build -t sneak/mastodon .
|
||||
docker build -t $(NAME) .
|
||||
|
||||
run:
|
||||
docker run -ti $(NAME)
|
||||
|
12
install.sh
12
install.sh
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
export HOME="/mastodon"
|
||||
export PATH="$HOME/.rbenv/bin:$PATH"
|
||||
export RUBY_CONFIGURE_OPTS="--with-jemalloc"
|
||||
|
||||
@ -10,8 +9,8 @@ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> $HOME/.bashrc
|
||||
echo 'eval "$(rbenv init -)"' >> $HOME/.bashrc
|
||||
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
|
||||
eval "$(rbenv init -)"
|
||||
rbenv install 2.6.1
|
||||
rbenv global 2.6.1
|
||||
rbenv install 2.6.5
|
||||
rbenv global 2.6.5
|
||||
gem update --system
|
||||
gem install bundler --no-document
|
||||
|
||||
@ -20,7 +19,12 @@ cd /mastodon/app
|
||||
# v3.0.1:
|
||||
git checkout c4118ba71ba31e408c02d289e111326ccc6f6aa2
|
||||
|
||||
bundle config build.nokogiri --use-system-libraries
|
||||
bundle install \
|
||||
-j$(getconf _NPROCESSORS_ONLN) \
|
||||
--deployment --without development test
|
||||
yarn install --pure-lockfile
|
||||
yarn install --pure-lockfile --ignore-engines
|
||||
|
||||
OTP_SECRET=precompile_placeholder \
|
||||
SECRET_KEY_BASE=precompile_placeholder \
|
||||
bundle exec rails assets:precompile
|
||||
|
5
rootfs/etc/service/postfix/run
Normal file
5
rootfs/etc/service/postfix/run
Normal file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "postfix starting..."
|
||||
|
||||
exec /usr/lib/postfix/master
|
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "postgres starting..."
|
||||
|
||||
mkdir -p /state/db
|
||||
chown mastodon:mastodon /state/db
|
||||
exec chpst -u mastodon:mastodon /usr/lib/postgresql/bin/postmaster \
|
||||
-D /state/db 2>&1
|
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p /state/redis
|
||||
chown mastodon:mastodon /state/redis
|
||||
exec chpst -u mastodon:mastodon /usr/bin/redis-server /etc/redis/redis.conf
|
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
sleep 2
|
||||
|
||||
while [[ -e /state/.starting ]]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "sidekiq starting..."
|
||||
|
||||
cd /mastodon/app
|
||||
exec \
|
||||
envdir /state/envdir \
|
||||
chpst -u mastodon:mastodon \
|
||||
bash -c "bundle exec sidekiq -c $SIDEKIQ_WORKERS -q default -q push -q pull -q mailers"
|
25
rootfs/etc/service/startup/run
Normal file
25
rootfs/etc/service/startup/run
Normal file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
touch /state/.starting
|
||||
echo "mastodon-startup starting up..."
|
||||
|
||||
if [[ ! -d /state/envdir ]]; then
|
||||
mkdir -p /state/envdir
|
||||
chown mastodon:mastodon /state/envdir
|
||||
fi
|
||||
|
||||
if [[ ! -e /state/envdir/HOME ]]; then
|
||||
echo "/mastodon" > /state/envdir/HOME
|
||||
fi
|
||||
|
||||
cd /mastodon/app
|
||||
|
||||
if [ "$RUN_DB_MIGRATIONS" == "true" ]; then
|
||||
echo "Running database migrations..."
|
||||
envdir /state/envdir chpst -u mastodon:mastodon bash -c "bundle exec rake db:migrate"
|
||||
fi
|
||||
|
||||
rm /state/.starting
|
||||
while true ; do
|
||||
sleep 86400
|
||||
done
|
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
sleep 2
|
||||
|
||||
while [[ -e /state/.starting ]]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "streaming starting..."
|
||||
|
||||
cd /mastodon/app
|
||||
exec envdir /state/envdir chpst -u mastodon:mastodon bash -c "npm run start"
|
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
sleep 2
|
||||
|
||||
while [[ -e /state/.starting ]]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "web starting..."
|
||||
|
||||
cd /mastodon/app
|
||||
exec envdir /state/envdir chpst -u mastodon:mastodon bash -c "bundle exec puma -C config/puma.rb"
|
Loading…
Reference in New Issue
Block a user