Adding a docker-compose template for running Mastodon easily
This commit is contained in:
parent
6fec8afc3f
commit
b17202ca0f
1
.dockerignore
Normal file
1
.dockerignore
Normal file
|
@ -0,0 +1 @@
|
|||
.env
|
5
.env.production.sample
Normal file
5
.env.production.sample
Normal file
|
@ -0,0 +1,5 @@
|
|||
REDIS_HOST=redis
|
||||
LOCAL_DOMAIN=example.com
|
||||
LOCAL_HTTPS=true
|
||||
PAPERCLIP_SECRET=
|
||||
SECRET_KEY_BASE=
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -17,3 +17,5 @@
|
|||
/tmp
|
||||
coverage
|
||||
public/system
|
||||
public/assets
|
||||
.env
|
||||
|
|
15
Dockerfile
Normal file
15
Dockerfile
Normal file
|
@ -0,0 +1,15 @@
|
|||
FROM ruby:2.2.4
|
||||
|
||||
ENV RAILS_ENV=production
|
||||
|
||||
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
|
||||
RUN mkdir /mastodon
|
||||
|
||||
WORKDIR /mastodon
|
||||
|
||||
ADD Gemfile /mastodon/Gemfile
|
||||
ADD Gemfile.lock /mastodon/Gemfile.lock
|
||||
|
||||
RUN bundle install --deployment --without test --without development
|
||||
|
||||
ADD . /mastodon
|
16
README.md
16
README.md
|
@ -15,12 +15,12 @@ Mastodon is a federated microblogging engine. An alternative implementation of t
|
|||
- Mentions and URLs converted to links in statuses
|
||||
- REST API, including home and mention timelines
|
||||
- OAuth2 provider system for the API
|
||||
- Upload header image for profile page
|
||||
|
||||
Missing:
|
||||
|
||||
- Media attachments (photos, videos)
|
||||
- UI to post, reblog, favourite, follow and unfollow
|
||||
- Upload header image for profile page
|
||||
- Deleting statuses, deletion propagation
|
||||
- Streaming API
|
||||
|
||||
|
@ -34,3 +34,17 @@ Missing:
|
|||
|
||||
- PostgreSQL
|
||||
- Redis
|
||||
|
||||
## Running with Docker and Docker-Compose
|
||||
|
||||
The project now includes a Dockerfile and a docker-compose.yml. You need to turn .env.production sample into .env.production with all the variables set before you can:
|
||||
|
||||
docker-compose build
|
||||
|
||||
And finally
|
||||
|
||||
docker-compose up
|
||||
|
||||
As usual, the first thing you would need to do would be to run migrations:
|
||||
|
||||
docker-compose run web rake db:migrate
|
||||
|
|
|
@ -2,6 +2,7 @@ default: &default
|
|||
adapter: postgresql
|
||||
pool: 5
|
||||
timeout: 5000
|
||||
encoding: unicode
|
||||
|
||||
development:
|
||||
<<: *default
|
||||
|
@ -16,4 +17,7 @@ test:
|
|||
|
||||
production:
|
||||
<<: *default
|
||||
database: mastodon_production
|
||||
database: postgres
|
||||
username: postgres
|
||||
password:
|
||||
host: db
|
||||
|
|
15
docker-compose.yml
Normal file
15
docker-compose.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
version: '2'
|
||||
services:
|
||||
db:
|
||||
image: postgres
|
||||
redis:
|
||||
image: redis
|
||||
web:
|
||||
build: .
|
||||
command: bundle exec rails s -p 3000 -b '0.0.0.0'
|
||||
ports:
|
||||
- "3000:3000"
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
env_file: .env.production
|
Loading…
Reference in a new issue