Adding a docker-compose template for running Mastodon easily
This commit is contained in:
		
							
								
								
									
										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 | ||||
		Reference in New Issue
	
	Block a user