diff options
-rw-r--r-- | Dockerfile | 10 | ||||
-rw-r--r-- | README.md | 67 | ||||
-rw-r--r-- | config/environments/production.rb | 10 | ||||
-rw-r--r-- | db/migrate/20180617162849_remove_unused_indexes.rb | 7 | ||||
-rw-r--r-- | db/migrate/20180628181026_create_custom_filters.rb | 13 |
5 files changed, 70 insertions, 37 deletions
diff --git a/Dockerfile b/Dockerfile index 3e54b6555..f2c4ebf26 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM node:8.12.0-alpine as node -FROM ruby:2.4.5-alpine3.8 +FROM node:10-alpine as node +FROM ruby:2.4-alpine -LABEL maintainer="https://github.com/tootsuite/mastodon" \ - description="Your self-hosted, globally interconnected microblogging community" +LABEL maintainer="https://github.com/pluralcafe/mastodon" \ + description="Mastodon Glitch Edition" ARG UID=991 ARG GID=991 @@ -85,6 +85,6 @@ VOLUME /mastodon/public/system USER mastodon ENV LD_PRELOAD=/lib/stack-fix.so -RUN OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder bundle exec rails assets:precompile +RUN OTP_SECRET=_ SECRET_KEY_BASE=_ bin/rails assets:precompile ENTRYPOINT ["/sbin/tini", "--"] diff --git a/README.md b/README.md index 470e379dc..4e10cbcd7 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,65 @@ -# Mastodon Glitch Edition # - -> Now with automated deploys! +![Mastodon](https://i.imgur.com/NhZc40l.png) +======== [![Build Status](https://img.shields.io/circleci/project/github/glitch-soc/mastodon.svg)][circleci] - [circleci]: https://circleci.com/gh/glitch-soc/mastodon -So here's the deal: we all work on this code, and then it runs on dev.glitch.social and anyone who uses that does so absolutely at their own risk. can you dig it? +Mastodon is a **free, open-source social network server** based on **open web protocols** like ActivityPub and OStatus. The social focus of the project is a viable decentralized alternative to commercial social media silos that returns the control of the content distribution channels to the people. The technical focus of the project is a good user interface, a clean REST API for 3rd party apps and robust anti-abuse tools. + +**Ruby on Rails** is used for the back-end, while **React.js** and Redux are used for the dynamic front-end. A static front-end for public resources (profiles and statuses) is also provided. + +This repository specifically is for [Plural Café](https://plural.cafe) and has three branches: + +* **master** (**edge** on Docker Hub) for all development and staging work, +* **glitch** for all commits from upstream that will automatically be synched to this repository, and +* **production** (**latest** on Docker Hub) for what goes onto the main website. + +In addition, there are several repositories in this GitHub organization: + +* **pluralcafe/mastodon** is this repository and is the codebase for what Plural Café runs, +* [**pluralcafe/utils**](https://github.com/pluralcafe/utils) are an assortment of scripts and tutorials to help in Mastodon system administration or general helper files this instance uses, +* [**pluralcafe/barkeep**](https://github.com/pluralcafe/barkeep) is forked from [mbilokonsky/ambassador](https://github.com/mbilokonsky/ambassador) and serves as the Ambassador bot that is run on the instance. + +This instance is a fork of a fork: this has the [Mastodon Glitch Edition](https://github.com/glitch-soc/mastodon) commits. Documentation for Mastodon Glitch Edition [can be found here](https://glitch-soc.github.io/docs/). Anyone wishing to use Glitch Edition in a Docker image for their own site can use the `pluralcafe/mastodon:glitch` image. + +--- + +## Resources + +- [Frequently Asked Questions](https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/FAQ.md) +- [Use this tool to find Twitter friends on Mastodon](https://bridge.joinmastodon.org) +- [API overview](https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md) +- [List of Mastodon instances](https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md) +- [List of apps](https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md) +- [List of sponsors](https://joinmastodon.org/sponsors) + +## Features + +**No vendor lock-in: Fully interoperable with any conforming platform** + +It doesn't have to be Mastodon, whatever implements ActivityPub or OStatus is part of the social network! + +**Real-time timeline updates** + +See the updates of people you're following appear in real-time in the UI via WebSockets. There's a firehose view as well! + +**Federated thread resolving** + +If someone you follow replies to a user unknown to the server, the server fetches the full thread so you can view it without leaving the UI + +**Media attachments like images and short videos** + +Upload and view images and WebM/MP4 videos attached to the updates. Videos with no audio track are treated like GIFs; normal videos are looped - like vines! + +**OAuth2 and a straightforward REST API** + +Mastodon acts as an OAuth2 provider so 3rd party apps can use the API + +**Fast response times** + +Mastodon tries to be as fast and responsive as possible, so all long-running tasks are delegated to background processing + +**Deployable via Docker** + +You don't need to mess with dependencies and configuration if you want to try Mastodon, if you have Docker and Docker Compose the deployment is extremely easy -- You can view documentation for this project at [glitch-soc.github.io/docs/](https://glitch-soc.github.io/docs/). -- And contributing guidelines are available [here](CONTRIBUTING.md) and [here](https://glitch-soc.github.io/docs/contributing/). diff --git a/config/environments/production.rb b/config/environments/production.rb index 7a07a8eb0..fbb059a79 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -96,11 +96,11 @@ Rails.application.configure do config.action_dispatch.default_headers = { 'Server' => 'Mastodon', - 'X-Frame-Options' => 'DENY', - 'X-Content-Type-Options' => 'nosniff', - 'X-XSS-Protection' => '1; mode=block', - 'Referrer-Policy' => 'same-origin', - 'Strict-Transport-Security' => 'max-age=63072000; includeSubDomains; preload', + #'X-Frame-Options' => 'DENY', + #'X-Content-Type-Options' => 'nosniff', + #'X-XSS-Protection' => '1; mode=block', + #'Referrer-Policy' => 'same-origin', + #'Strict-Transport-Security' => 'max-age=63072000; includeSubDomains; preload', 'X-Clacks-Overhead' => 'GNU Natalie Nguyen' } diff --git a/db/migrate/20180617162849_remove_unused_indexes.rb b/db/migrate/20180617162849_remove_unused_indexes.rb deleted file mode 100644 index 61add6385..000000000 --- a/db/migrate/20180617162849_remove_unused_indexes.rb +++ /dev/null @@ -1,7 +0,0 @@ -class RemoveUnusedIndexes < ActiveRecord::Migration[5.2] - def change - remove_index :statuses, name: "index_statuses_on_conversation_id" - remove_index :users, name: "index_users_on_filtered_languages" - remove_index :backups, name: "index_backups_on_user_id" - end -end diff --git a/db/migrate/20180628181026_create_custom_filters.rb b/db/migrate/20180628181026_create_custom_filters.rb deleted file mode 100644 index d19cf2e9d..000000000 --- a/db/migrate/20180628181026_create_custom_filters.rb +++ /dev/null @@ -1,13 +0,0 @@ -class CreateCustomFilters < ActiveRecord::Migration[5.2] - def change - create_table :custom_filters do |t| - t.belongs_to :account, foreign_key: { on_delete: :cascade } - t.datetime :expires_at - t.text :phrase, null: false, default: '' - t.string :context, array: true, null: false, default: [] - t.boolean :irreversible, null: false, default: false - - t.timestamps - end - end -end |