Skip to content

Commit

Permalink
[NEW] How to Install Mastodon on Ubuntu 16.04 (linode#1968)
Browse files Browse the repository at this point in the history
* Research/write complete for Mastodon guide

* initial fix of dictionary and travis fails

* Changed date

* mastodon ubuntu 16 tech edit

* Copy Edits

* Fix broken link and fix missing --dry-run
  • Loading branch information
nmelehan authored and cwlinode committed Aug 21, 2018
1 parent 1ed3655 commit 976e727
Show file tree
Hide file tree
Showing 5 changed files with 588 additions and 0 deletions.
5 changes: 5 additions & 0 deletions ci/vale/dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ esc
etcd
etcd0
eth0
eugen
evhost
example1
example2
Expand Down Expand Up @@ -349,6 +350,7 @@ fdisk
fdriver
fe70
fedf
fediverse
fetchmail
fetchmailrc
ff02
Expand Down Expand Up @@ -681,6 +683,7 @@ magento
maildir
maildirs
maildrop
mailgun
mailname
mailq
mailserver
Expand Down Expand Up @@ -1037,6 +1040,7 @@ ritchie
rkt
rmem
ro
rochko
rocommunity
rollout
roundcube
Expand Down Expand Up @@ -1126,6 +1130,7 @@ shortguide
shortguides
shortname
shoutcast
sidekiq
sintra
sitename
slackpkg
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
version: '3'
services:

db:
restart: always
image: postgres:9.6-alpine
networks:
- internal_network
### Uncomment to enable DB persistance
volumes:
- ./postgres:/var/lib/postgresql/data

redis:
restart: always
image: redis:4.0-alpine
networks:
- internal_network
### Uncomment to enable REDIS persistance
volumes:
- ./redis:/data

# es:
# restart: always
# image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.1.3
# environment:
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# networks:
# - internal_network
#### Uncomment to enable ES persistance
## volumes:
## - ./elasticsearch:/usr/share/elasticsearch/data

web:
# build: .
image: tootsuite/mastodon:v2.4.2
restart: always
env_file: .env.production
command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000 -b '0.0.0.0'"
networks:
- external_network
- internal_network
ports:
- "127.0.0.1:3000:3000"
depends_on:
- db
- redis
# - es
volumes:
- ./public/system:/mastodon/public/system
- ./public/assets:/mastodon/public/assets
- ./public/packs:/mastodon/public/packs

streaming:
# build: .
image: tootsuite/mastodon:v2.4.2
restart: always
env_file: .env.production
command: yarn start
networks:
- external_network
- internal_network
ports:
- "127.0.0.1:4000:4000"
depends_on:
- db
- redis

sidekiq:
# build: .
image: tootsuite/mastodon:v2.4.2
restart: always
env_file: .env.production
command: bundle exec sidekiq -q default -q mailers -q pull -q push
depends_on:
- db
- redis
networks:
- external_network
- internal_network
volumes:
- ./public/system:/mastodon/public/system
- ./public/packs:/mastodon/public/packs

## Uncomment to enable federation with tor instances along with adding the following ENV variables
## http_proxy=http://privoxy:8118
## ALLOW_ACCESS_TO_HIDDEN_SERVICE=true
# tor:
# build: https://github.com/usbsnowcrash/docker-tor.git
# networks:
# - external_network
# - internal_network
#
# privoxy:
# build: https://github.com/usbsnowcrash/docker-privoxy.git
# command: /opt/sbin/privoxy --no-daemon --user privoxy.privoxy /opt/config
# volumes:
# - ./priv-config:/opt/config
# networks:
# - external_network
# - internal_network

nginx:
build:
context: ./nginx
dockerfile: Dockerfile
ports:
- "80:80"
- "443:443"
volumes:
- /etc/letsencrypt/:/etc/letsencrypt/
- ./public/:/home/mastodon/live/public
- /usr/share/nginx/html:/usr/share/nginx/html
restart: always
depends_on:
- web
- streaming
networks:
- external_network
- internal_network

networks:
external_network:
internal_network:
internal: true
Loading

0 comments on commit 976e727

Please sign in to comment.