Compare commits
552 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
010e4f2879 | ||
|
ebbbcfef1c | ||
|
3d776de2cb | ||
|
831ff60698 | ||
|
c25426ca47 | ||
|
09b93aaf85 | ||
|
d4fedf84e0 | ||
|
2af4f3c4e2 | ||
|
b8e7eee837 | ||
|
b48c9013aa | ||
|
b48f2cbc8b | ||
|
1736badf28 | ||
|
88725d6ce8 | ||
|
be0a01145b | ||
|
1f805a6377 | ||
|
e595ccb294 | ||
|
43a29a9d0f | ||
|
0dd71af5fa | ||
|
0618f09939 | ||
|
a23eaf720e | ||
|
9d3fc1281d | ||
|
8857cabca4 | ||
|
affd75936e | ||
|
3e78b7cc3a | ||
|
647a148d4d | ||
|
bb777c24ff | ||
|
0576daf5f9 | ||
|
c442cade78 | ||
|
6004b143a8 | ||
|
25cbb8454c | ||
|
416c9675fc | ||
|
6a1e287053 | ||
|
5bda32e460 | ||
|
6137268e79 | ||
|
234e931db2 | ||
|
fdcb55a0a6 | ||
|
d97a0525aa | ||
|
193dddb433 | ||
|
8fe36654ef | ||
|
8ee1af9530 | ||
|
e4c294432f | ||
|
3ebaeccec9 | ||
|
7177e37b99 | ||
|
fbc5099402 | ||
|
45b379abac | ||
|
6ae975996e | ||
|
5d26c70a9c | ||
|
322cbf83c8 | ||
|
fc99d11703 | ||
|
48652cb41e | ||
|
d4f7f11c3c | ||
|
1ce951d0be | ||
|
52c119052a | ||
|
9317ec8eb1 | ||
|
1b9447853b | ||
|
122d59ac41 | ||
|
8b5179d006 | ||
|
3ea5b948a4 | ||
|
164bad171f | ||
|
acc691851d | ||
|
d2159deaf2 | ||
|
17c591ffba | ||
|
bb04a9be52 | ||
|
338df98ddf | ||
|
da022e1e4f | ||
|
f098f55cab | ||
|
bc955eaf61 | ||
|
2d99c962df | ||
|
e59f5c8e13 | ||
|
b073b092c9 | ||
|
092fdc89fa | ||
|
d000a0b58a | ||
|
cf845fed38 | ||
|
72c984e105 | ||
|
3d3707a077 | ||
|
a0dd90a397 | ||
|
1e2a5dded7 | ||
|
549ce78cf5 | ||
|
1801a36414 | ||
|
501514960a | ||
|
ef5937da1f | ||
|
072c6f1527 | ||
|
55e32fe579 | ||
|
7ee8e50b9c | ||
|
995f0ad51c | ||
|
948dd26931 | ||
|
55e1e12b7d | ||
|
6e27e08cb4 | ||
|
d670f72830 | ||
|
57cd6546c3 | ||
|
1244630ab4 | ||
|
a9a4710fe1 | ||
|
cc83ee60fb | ||
|
89dc29affb | ||
|
85e09518b9 | ||
|
663f090c45 | ||
|
1cf9e14a41 | ||
|
0c2fe22bc1 | ||
|
6f0b3b069f | ||
|
9cd20a7062 | ||
|
219fb317ee | ||
|
66fd8e7821 | ||
|
83e3538181 | ||
|
723f25a999 | ||
|
59b1de0bcf | ||
|
df46864b39 | ||
|
cca41ea544 | ||
|
532bec6e56 | ||
|
ee82d8a876 | ||
|
1646ca75f0 | ||
|
f876665264 | ||
|
5817bae2da | ||
|
4cfc155560 | ||
|
a1174a6d7e | ||
|
5357329454 | ||
|
7fea36d155 | ||
|
2bf7e81ed5 | ||
|
ca8ae21b52 | ||
|
d0ec4fb828 | ||
|
4428cf6f07 | ||
|
fe43991d02 | ||
|
8565ba68f7 | ||
|
629d35e6f5 | ||
|
67dea31b0f | ||
|
6af21daac9 | ||
|
9d3be5579a | ||
|
05ac28f3e4 | ||
|
0f852c6f74 | ||
|
974ac467de | ||
|
af7d02da5d | ||
|
5abd543766 | ||
|
1948f9e767 | ||
|
27ea2a88c1 | ||
|
16cd648181 | ||
|
53b21ac1cd | ||
|
e4550811b2 | ||
|
704846a258 | ||
|
935aecdc32 | ||
|
1714f08d75 | ||
|
452dc6b5fe | ||
|
5c9aa2b732 | ||
|
78af88e1f4 | ||
|
74c474a652 | ||
|
5e33ad29d4 | ||
|
27a99b19e8 | ||
|
ee0c897bba | ||
|
ceecf96208 | ||
|
47a3036ea6 | ||
|
d2dc31a74a | ||
|
60a9b938b4 | ||
|
dd517b9a55 | ||
|
b3329c362e | ||
|
b00f4a0cf3 | ||
|
a0ed88a99b | ||
|
25d2853db2 | ||
|
1930051bde | ||
|
6c34eafe02 | ||
|
bbff431e3a | ||
|
3660a321f0 | ||
|
e06f307c2d | ||
|
3b342be2f2 | ||
|
2dda356e3f | ||
|
972f6bc861 | ||
|
d2514445e1 | ||
|
daa46f14c4 | ||
|
1ada494bb2 | ||
|
4df26b2621 | ||
|
556f68ab15 | ||
|
fdb2689a14 | ||
|
598d3defd5 | ||
|
7f8044d913 | ||
|
66b39ccaed | ||
|
cae2a26ee3 | ||
|
b79ba3db8a | ||
|
59a77923b3 | ||
|
2e4afccd9d | ||
|
0876a06e45 | ||
|
43caf1fa5f | ||
|
2c0d756ad9 | ||
|
f06cba3f60 | ||
|
09dad88853 | ||
|
7832425fdd | ||
|
abe16a7026 | ||
|
baabbce672 | ||
|
1d47910d3b | ||
|
708bdd53f1 | ||
|
2510119f19 | ||
|
fe1ddc3b96 | ||
|
a3486e0543 | ||
|
30183c0a74 | ||
|
15a4fc5dcc | ||
|
a8e1afc30a | ||
|
bfbc2ca0d8 | ||
|
5ce8a1811a | ||
|
dca0ffa1a1 | ||
|
70891a99a9 | ||
|
3572f4423f | ||
|
23eea5c5ae | ||
|
35bdacba7a | ||
|
97012487ed | ||
|
9a7ea7c870 | ||
|
1ac41c873a | ||
|
6c83fec971 | ||
|
2bb54d5c57 | ||
|
8b8e140c71 | ||
|
8bac0350d1 | ||
|
c0b30c56db | ||
|
0a850a8edb | ||
|
71f5cf12d2 | ||
|
9d8bf4ea42 | ||
|
96268e76e6 | ||
|
c6a4ab3b92 | ||
|
e09ab2c0bd | ||
|
6bd1019235 | ||
|
0d6c1e9cba | ||
|
ff5baa5349 | ||
|
297c11dba2 | ||
|
0a7588282a | ||
|
3ed219f907 | ||
|
55e1503522 | ||
|
66d8f99a30 | ||
|
f23281e31e | ||
|
9783d8b6c0 | ||
|
7525971561 | ||
|
84b5fae8e3 | ||
|
d90b1650d8 | ||
|
23ecc681c4 | ||
|
82bbf57e7a | ||
|
0790aa9165 | ||
|
e2a1b574ab | ||
|
880590ad0d | ||
|
ee919bedd6 | ||
|
0a1b024600 | ||
|
50ed72767d | ||
|
75910abd8f | ||
|
93c13fe691 | ||
|
42d54dc9ea | ||
|
57d784f1e4 | ||
|
16d50f60d1 | ||
|
0e0347ea3c | ||
|
f5cd0b4956 | ||
|
2fd0473aa1 | ||
|
f03fb6c0ae | ||
|
8d3412c90c | ||
|
9cefb5731d | ||
|
00a85f31ca | ||
|
389f8f8249 | ||
|
e1e15adf1d | ||
|
f96f8d0176 | ||
|
a05e7582e4 | ||
|
fc122e9d78 | ||
|
7d1e653ec1 | ||
|
7b397b1452 | ||
|
8fd6552bca | ||
|
4ed12cd89a | ||
|
cc1361c149 | ||
|
15ec4ae07b | ||
|
e43071a2f9 | ||
|
21a767dcfa | ||
|
3399dd7a66 | ||
|
630de52fdd | ||
|
f8546ad5a2 | ||
|
4082e1ac7f | ||
|
6b8e95ea00 | ||
|
e813810e03 | ||
|
ffb99325ca | ||
|
fd62d4de10 | ||
|
e9eaf9e33c | ||
|
e22f9819bb | ||
|
f3b86c1bda | ||
|
833bfd77f2 | ||
|
6685106daa | ||
|
8ad6722eea | ||
|
548ff54714 | ||
|
a67909ec1e | ||
|
6afe70db95 | ||
|
b87a08e160 | ||
|
be6cabb315 | ||
|
f8ae12909c | ||
|
78bdfc4589 | ||
|
d87ee1167e | ||
|
64e1d51025 | ||
|
7a5086729a | ||
|
5e94643058 | ||
|
dc6fe4e04b | ||
|
1955a3f444 | ||
|
8ebed7fc68 | ||
|
8f2ed79a0b | ||
|
2b6b89491d | ||
|
f902a335f9 | ||
|
e4af4898de | ||
|
6d70a80263 | ||
|
0cbcc5e297 | ||
|
f87b51fda8 | ||
|
7e2e0d6dcc | ||
|
181115422c | ||
|
86d1dcc97a | ||
|
86eaaf0761 | ||
|
19f63ff801 | ||
|
babbb2135e | ||
|
acd33101c5 | ||
|
99226aba93 | ||
|
42c9d5111a | ||
|
e0b5a94a4b | ||
|
26ec042f38 | ||
|
73b0af5c93 | ||
|
7efde22c3a | ||
|
90760eae4c | ||
|
fc34e0e191 | ||
|
de72db99fa | ||
|
77d1447ac4 | ||
|
2c329f2b69 | ||
|
c2762fa498 | ||
|
0611209141 | ||
|
da302a43cd | ||
|
8f8319852c | ||
|
75f416a492 | ||
|
24baaa17e8 | ||
|
c99fc08a0d | ||
|
a8f45c0838 | ||
|
6df63465b9 | ||
|
13b11ddc8c | ||
|
f2997c9715 | ||
|
e17f9d5e1a | ||
|
865cb39e9b | ||
|
5d710b1139 | ||
|
fd81916e86 | ||
|
8a58942c80 | ||
|
f97272549c | ||
|
363de2dffd | ||
|
6a1ac9b31f | ||
|
3834e1e69b | ||
|
95bcbaa434 | ||
|
911338bdcc | ||
|
0f8b7d0660 | ||
|
e332552816 | ||
|
0d83569899 | ||
|
515434ed87 | ||
|
3d3e32befb | ||
|
fa08b5079d | ||
|
00392d3c63 | ||
|
28606d730a | ||
|
1c8477eab2 | ||
|
6670e6d33f | ||
|
9d2f55ecc3 | ||
|
b7ec2fd492 | ||
|
3b8908c114 | ||
|
7b10794afb | ||
|
355965c17b | ||
|
0f889523e4 | ||
|
f4045ba3d9 | ||
|
df4ff9a8e1 | ||
|
67ad84b7eb | ||
|
f0f6a3279a | ||
|
9e620ca16c | ||
|
bddd36f260 | ||
|
b857551617 | ||
|
e28a5aab08 | ||
|
f9d7ec8971 | ||
|
40fd1de488 | ||
|
31f0bcf804 | ||
|
09540192c9 | ||
|
08059ddda9 | ||
|
a3aa9381c4 | ||
|
120a37a197 | ||
|
ec9999cdfe | ||
|
e806d3c3f0 | ||
|
4ba6acd518 | ||
|
061922b38c | ||
|
5d8d827436 | ||
|
cde1f37d93 | ||
|
89707ad0ac | ||
|
4bebeb27d3 | ||
|
ef879a8839 | ||
|
9240ca6cef | ||
|
619817d29e | ||
|
0655f16cc1 | ||
|
ade004b5ee | ||
|
7609593e48 | ||
|
a9529d3b4b | ||
|
0d2910478a | ||
|
5ab0ffc6c8 | ||
|
8482f67caf | ||
|
fe8dd58bc1 | ||
|
92cd207c50 | ||
|
f5cd138323 | ||
|
66ea015a01 | ||
|
1616cf98a1 | ||
|
5aae6384ff | ||
|
fa89deb4eb | ||
|
26a892dd90 | ||
|
8321884eef | ||
|
290e8ef854 | ||
|
067eb220c6 | ||
|
1467515d3d | ||
|
8b74aa4217 | ||
|
a6807201d2 | ||
|
4445ebdad2 | ||
|
c019b0acfd | ||
|
7447e7a2ea | ||
|
c8be05a4a7 | ||
|
41c697fd81 | ||
|
c5afe573da | ||
|
485310a43c | ||
|
9aae9ae40c | ||
|
1fb125b630 | ||
|
057567d548 | ||
|
169c68a739 | ||
|
9f182346d7 | ||
|
a58c935c3d | ||
|
c0c56db0fa | ||
|
d9dc0fe84e | ||
|
55b56e3f95 | ||
|
c4d39b1b3d | ||
|
ac54da9394 | ||
|
043862f411 | ||
|
9e5c1c487e | ||
|
5619099564 | ||
|
ce80d0b0a9 | ||
|
6327f69cab | ||
|
5f8155482a | ||
|
efcf9448da | ||
|
e70b84b1dc | ||
|
d7a4e8739a | ||
|
9362700137 | ||
|
1206627c59 | ||
|
edefcfcf42 | ||
|
b330d1f000 | ||
|
1a5a54eb4b | ||
|
447b8bc44e | ||
|
093879c177 | ||
|
d2c20936f3 | ||
|
0220f3a171 | ||
|
905a4faa1c | ||
|
5355b7d930 | ||
|
aec2458d81 | ||
|
4fe5e04ea4 | ||
|
3f42ad7d1a | ||
|
f7c466c8d8 | ||
|
245b9cb4ba | ||
|
9275f92972 | ||
|
4a6d3bac86 | ||
|
00cc3066a2 | ||
|
a57d30c680 | ||
|
467d32fce3 | ||
|
8aadb7b0b2 | ||
|
79546799af | ||
|
90d0018fd5 | ||
|
1a12fd14d4 | ||
|
282bb55c3c | ||
|
0e4479bb3a | ||
|
af7e880df5 | ||
|
aa7bf1515c | ||
|
4f781b17cc | ||
|
137100dcf3 | ||
|
3a9eb81a80 | ||
|
0e39cc6a35 | ||
|
faefd8ec8f | ||
|
a18fd491b9 | ||
|
96715d9af5 | ||
|
f24daa399b | ||
|
af96e71883 | ||
|
5dc73339ae | ||
|
ccaf3dbc5a | ||
|
1ea662963f | ||
|
bd834add56 | ||
|
9966bd27c2 | ||
|
b0ab632531 | ||
|
e1264bbd92 | ||
|
38e24a699b | ||
|
bf3e56b8ad | ||
|
9b698bf448 | ||
|
0254ee9795 | ||
|
e32edd247f | ||
|
dab9b5bd3a | ||
|
e17b5b228d | ||
|
c4baa9fb6b | ||
|
c2a31b8032 | ||
|
9e63bf446e | ||
|
c44a700252 | ||
|
aa90798386 | ||
|
0930ce5560 | ||
|
7f0a865b05 | ||
|
08fce08217 | ||
|
3064ef96a1 | ||
|
ee69ece7b5 | ||
|
d90d23699c | ||
|
1f5ff46fd9 | ||
|
13528f50c3 | ||
|
dd1ae3b109 | ||
|
b352a8e5d4 | ||
|
fd102059aa | ||
|
323671a653 | ||
|
b155e6ccf5 | ||
|
f16b9a4928 | ||
|
24eb45425e | ||
|
3442bc0ea3 | ||
|
40bdf43297 | ||
|
8ead070b94 | ||
|
b22b2cbfac | ||
|
2f2b84bfbb | ||
|
5cdd2c2414 | ||
|
3ddd936b03 | ||
|
1921c5416b | ||
|
fc47c1d00e | ||
|
327a6e166f | ||
|
6f5268b02d | ||
|
4964433190 | ||
|
9e3c4fd2d7 | ||
|
89e8e110c8 | ||
|
9f7ea77d0c | ||
|
5f74397ef0 | ||
|
960181fd99 | ||
|
2a7602cad4 | ||
|
47aacb773b | ||
|
82d9336114 | ||
|
e60286a344 | ||
|
53850bce93 | ||
|
1236529e39 | ||
|
06444bf050 | ||
|
b723ee73fc | ||
|
c35bda0551 | ||
|
f53fb6aa66 | ||
|
a85d4473aa | ||
|
c9b9225951 | ||
|
11898a6461 | ||
|
01e5447e35 | ||
|
4ada50985a | ||
|
a283786463 | ||
|
12f72e1740 | ||
|
b57eed4584 | ||
|
3672a799d4 | ||
|
3fd5385e7b | ||
|
d439855a6d | ||
|
2810013b93 | ||
|
0687ab8ae3 | ||
|
64dbde0dbf | ||
|
ae57b3a8c5 | ||
|
0dbbc16c69 | ||
|
f690320fb9 | ||
|
553170b77a | ||
|
8a6096a3de | ||
|
d2f6d9b9fb | ||
|
dbe9f33fdc | ||
|
1be6aa0c7f | ||
|
087ca3009b | ||
|
db7c7d1af1 | ||
|
42fb4faa0f | ||
|
9bb398ee91 | ||
|
9043b32183 | ||
|
e30bbb1cb0 | ||
|
8bdf02812c |
@@ -1,10 +1,6 @@
|
||||
engines:
|
||||
duplication:
|
||||
enabled: true
|
||||
config:
|
||||
languages:
|
||||
- ruby
|
||||
- javascript
|
||||
enabled: false
|
||||
rubocop:
|
||||
enabled: true
|
||||
eslint:
|
||||
|
@@ -6,3 +6,6 @@ node_modules
|
||||
storybook
|
||||
neo4j
|
||||
vendor/bundle
|
||||
.DS_Store
|
||||
*.swp
|
||||
*~
|
||||
|
12
.editorconfig
Normal file
@@ -0,0 +1,12 @@
|
||||
# EditorConfig is awesome: http://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
@@ -1,6 +1,7 @@
|
||||
# Service dependencies
|
||||
REDIS_HOST=redis
|
||||
REDIS_PORT=6379
|
||||
# REDIS_DB=0
|
||||
DB_HOST=db
|
||||
DB_USER=postgres
|
||||
DB_NAME=postgres
|
||||
@@ -11,6 +12,10 @@ DB_PORT=5432
|
||||
LOCAL_DOMAIN=example.com
|
||||
LOCAL_HTTPS=true
|
||||
|
||||
# Use this only if you need to run mastodon on a different domain than the one used for federation.
|
||||
# Do not use this unless you know exactly what you are doing.
|
||||
# WEB_DOMAIN=mastodon.example.com
|
||||
|
||||
# Application secrets
|
||||
# Generate each with the `rake secret` task (`docker-compose run --rm web rake secret` if you use docker compose)
|
||||
PAPERCLIP_SECRET=
|
||||
@@ -30,11 +35,24 @@ OTP_SECRET=
|
||||
|
||||
# E-mail configuration
|
||||
# Note: Mailgun and SparkPost (https://sparkpo.st/smtp) each have good free tiers
|
||||
# If you want to use an SMTP server without authentication (e.g local Postfix relay)
|
||||
# then set SMTP_AUTH_METHOD to 'none' and *comment* SMTP_LOGIN and SMTP_PASSWORD.
|
||||
# Leaving them blank is not enough for authentication method 'none'.
|
||||
SMTP_SERVER=smtp.mailgun.org
|
||||
SMTP_PORT=587
|
||||
SMTP_LOGIN=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_FROM_ADDRESS=notifications@example.com
|
||||
#SMTP_DOMAIN= # defaults to LOCAL_DOMAIN
|
||||
#SMTP_DELIVERY_METHOD=smtp # delivery method can also be sendmail
|
||||
#SMTP_AUTH_METHOD=plain
|
||||
#SMTP_OPENSSL_VERIFY_MODE=peer
|
||||
#SMTP_ENABLE_STARTTLS_AUTO=true
|
||||
|
||||
|
||||
# Optional user upload path and URL (images, avatars). Default is :rails_root/public/system. If you set this variable, you are responsible for making your HTTP server (eg. nginx) serve these files.
|
||||
# PAPERCLIP_ROOT_PATH=/var/lib/mastodon/public-system
|
||||
# PAPERCLIP_ROOT_URL=/system
|
||||
|
||||
# Optional asset host for multi-server setups
|
||||
# CDN_HOST=assets.example.com
|
||||
@@ -57,6 +75,7 @@ SMTP_FROM_ADDRESS=notifications@example.com
|
||||
# S3_PROTOCOL=https
|
||||
# S3_HOSTNAME=
|
||||
# S3_ENDPOINT=
|
||||
# S3_SIGNATURE_VERSION=
|
||||
|
||||
# Optional alias for S3 if you want to use Cloudfront or Cloudflare in front
|
||||
# S3_CLOUDFRONT_HOST=
|
||||
@@ -67,3 +86,7 @@ SMTP_FROM_ADDRESS=notifications@example.com
|
||||
# Advanced settings
|
||||
# If you need to use pgBouncer, you need to disable prepared statements:
|
||||
# PREPARED_STATEMENTS=false
|
||||
|
||||
# Cluster number setting for streaming API server.
|
||||
# If you comment out following line, cluster number will be `numOfCpuCores - 1`.
|
||||
STREAMING_CLUSTER_NUM=1
|
||||
|
@@ -1,3 +1,4 @@
|
||||
# Federation
|
||||
LOCAL_DOMAIN=cb6e6126.ngrok.io
|
||||
LOCAL_HTTPS=true
|
||||
OTP_SECRET=100c7faeef00caa29242f6b04156742bf76065771fd4117990c4282b8748ff3d99f8fdae97c982ab5bd2e6756a159121377cce4421f4a8ecd2d67bd7749a3fb4
|
||||
|
30
.eslintignore
Normal file
@@ -0,0 +1,30 @@
|
||||
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
||||
#
|
||||
# If you find yourself ignoring temporary files generated by your text editor
|
||||
# or operating system, you probably want to add a global ignore instead:
|
||||
# git config --global core.excludesfile '~/.gitignore_global'
|
||||
|
||||
# Ignore bundler config.
|
||||
/.bundle
|
||||
|
||||
# Ignore the default SQLite database.
|
||||
/db/*.sqlite3
|
||||
/db/*.sqlite3-journal
|
||||
|
||||
# Ignore all logfiles and tempfiles.
|
||||
/log/*
|
||||
!/log/.keep
|
||||
/tmp
|
||||
coverage
|
||||
public/system
|
||||
public/assets
|
||||
.env
|
||||
.env.production
|
||||
node_modules/
|
||||
neo4j/
|
||||
|
||||
# Ignore Vagrant files
|
||||
.vagrant/
|
||||
|
||||
# Ignore Capistrano customizations
|
||||
config/deploy/*
|
51
.eslintrc
@@ -1,51 +0,0 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": false,
|
||||
"es6": true
|
||||
},
|
||||
|
||||
"parser": "babel-eslint",
|
||||
|
||||
"plugins": [
|
||||
"react"
|
||||
],
|
||||
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
|
||||
"ecmaFeatures": {
|
||||
"arrowFunctions": true,
|
||||
"jsx": true,
|
||||
"destructuring": true,
|
||||
"modules": true,
|
||||
"spread": true
|
||||
}
|
||||
},
|
||||
|
||||
"rules": {
|
||||
"no-cond-assign": 2,
|
||||
"no-console": 1,
|
||||
"no-irregular-whitespace": 2,
|
||||
"no-unreachable": 2,
|
||||
"valid-typeof": 2,
|
||||
"consistent-return": 2,
|
||||
"dot-notation": 2,
|
||||
"eqeqeq": 2,
|
||||
"no-fallthrough": 2,
|
||||
"no-unused-expressions": 2,
|
||||
"strict": 0,
|
||||
"no-catch-shadow": 2,
|
||||
"indent": [1, 2],
|
||||
"brace-style": 1,
|
||||
"comma-spacing": [1, {"before": false, "after": true}],
|
||||
"comma-style": [1, "last"],
|
||||
"no-mixed-spaces-and-tabs": 1,
|
||||
"no-nested-ternary": 1,
|
||||
"no-trailing-spaces": 1,
|
||||
"react/wrap-multilines": 2,
|
||||
"react/self-closing-comp": 2,
|
||||
"react/prop-types": 2,
|
||||
"react/no-multi-comp": 0
|
||||
}
|
||||
}
|
79
.eslintrc.json
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": false,
|
||||
"es6": true
|
||||
},
|
||||
|
||||
"parser": "babel-eslint",
|
||||
|
||||
"plugins": [
|
||||
"react",
|
||||
"jsx-a11y"
|
||||
],
|
||||
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
|
||||
"ecmaFeatures": {
|
||||
"arrowFunctions": true,
|
||||
"jsx": true,
|
||||
"destructuring": true,
|
||||
"modules": true,
|
||||
"spread": true
|
||||
}
|
||||
},
|
||||
|
||||
"rules": {
|
||||
"no-cond-assign": 2,
|
||||
"no-console": 1,
|
||||
"no-irregular-whitespace": 2,
|
||||
"no-unreachable": 2,
|
||||
"valid-typeof": 2,
|
||||
"consistent-return": 2,
|
||||
"dot-notation": 2,
|
||||
"eqeqeq": 2,
|
||||
"no-fallthrough": 2,
|
||||
"no-unused-expressions": 2,
|
||||
"strict": 0,
|
||||
"no-catch-shadow": 2,
|
||||
"indent": [1, 2],
|
||||
"brace-style": 1,
|
||||
"comma-spacing": [1, {"before": false, "after": true}],
|
||||
"comma-style": [1, "last"],
|
||||
"no-mixed-spaces-and-tabs": 1,
|
||||
"no-nested-ternary": 1,
|
||||
"no-trailing-spaces": 1,
|
||||
|
||||
"react/jsx-wrap-multilines": 2,
|
||||
"react/self-closing-comp": 2,
|
||||
"react/prop-types": 2,
|
||||
"react/no-multi-comp": 0,
|
||||
|
||||
"jsx-a11y/accessible-emoji": 1,
|
||||
"jsx-a11y/anchor-has-content": 1,
|
||||
"jsx-a11y/aria-activedescendant-has-tabindex": 1,
|
||||
"jsx-a11y/aria-props": 1,
|
||||
"jsx-a11y/aria-proptypes": 1,
|
||||
"jsx-a11y/aria-role": 1,
|
||||
"jsx-a11y/aria-unsupported-elements": 1,
|
||||
"jsx-a11y/heading-has-content": 1,
|
||||
"jsx-a11y/href-no-hash": 1,
|
||||
"jsx-a11y/html-has-lang": 1,
|
||||
"jsx-a11y/iframe-has-title": 1,
|
||||
"jsx-a11y/img-has-alt": 1,
|
||||
"jsx-a11y/img-redundant-alt": 1,
|
||||
"jsx-a11y/label-has-for": 1,
|
||||
"jsx-a11y/mouse-events-have-key-events": 1,
|
||||
"jsx-a11y/no-access-key": 1,
|
||||
"jsx-a11y/no-distracting-elements": 1,
|
||||
"jsx-a11y/no-onchange": 1,
|
||||
"jsx-a11y/no-redundant-roles": 1,
|
||||
"jsx-a11y/onclick-has-focus": 1,
|
||||
"jsx-a11y/onclick-has-role": 1,
|
||||
"jsx-a11y/role-has-required-aria-props": 1,
|
||||
"jsx-a11y/role-supports-aria-props": 1,
|
||||
"jsx-a11y/scope": 1,
|
||||
"jsx-a11y/tabindex-no-positive": 1
|
||||
}
|
||||
}
|
17
.gitignore
vendored
@@ -4,8 +4,9 @@
|
||||
# or operating system, you probably want to add a global ignore instead:
|
||||
# git config --global core.excludesfile '~/.gitignore_global'
|
||||
|
||||
# Ignore bundler config.
|
||||
# Ignore bundler config and downloaded libraries.
|
||||
/.bundle
|
||||
/vendor/bundle
|
||||
|
||||
# Ignore the default SQLite database.
|
||||
/db/*.sqlite3
|
||||
@@ -28,3 +29,17 @@ neo4j/
|
||||
|
||||
# Ignore Capistrano customizations
|
||||
config/deploy/*
|
||||
|
||||
# Ignore IDE files
|
||||
.vscode/
|
||||
|
||||
# Ignore postgres + redis volume optionally created by docker-compose
|
||||
postgres
|
||||
redis
|
||||
|
||||
# Ignore Apple files
|
||||
.DS_Store
|
||||
|
||||
# Ignore vim files
|
||||
*~
|
||||
*.swp
|
||||
|
@@ -1 +1 @@
|
||||
2.3.1
|
||||
2.4.1
|
||||
|
28
.travis.yml
@@ -1,12 +1,16 @@
|
||||
language: ruby
|
||||
cache: bundler
|
||||
cache:
|
||||
bundler: true
|
||||
yarn: true
|
||||
directories:
|
||||
- node_modules
|
||||
dist: trusty
|
||||
sudo: false
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- TRAVIS_NODE_VERSION="4"
|
||||
global:
|
||||
- LOCAL_DOMAIN=cb6e6126.ngrok.io
|
||||
- LOCAL_HTTPS=true
|
||||
@@ -14,22 +18,25 @@ env:
|
||||
- CXX=g++-4.8
|
||||
addons:
|
||||
postgresql: 9.4
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- trusty-media
|
||||
packages:
|
||||
- g++-4.8
|
||||
- ffmpeg
|
||||
|
||||
rvm:
|
||||
- 2.3.1
|
||||
- 2.3.4
|
||||
- 2.4.1
|
||||
|
||||
services:
|
||||
- redis-server
|
||||
|
||||
bundler_args: --without development production --retry=3 --jobs=3
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
- sudo apt-get -qq update
|
||||
- sudo apt-get -qq install g++-4.8
|
||||
install:
|
||||
- nvm install $TRAVIS_NODE_VERSION
|
||||
- npm install -g npm@3
|
||||
- nvm install
|
||||
- npm install -g yarn
|
||||
- bundle install
|
||||
- yarn install
|
||||
@@ -40,3 +47,4 @@ before_script:
|
||||
script:
|
||||
- bundle exec rspec
|
||||
- npm test
|
||||
- i18n-tasks unused
|
||||
|
@@ -7,7 +7,7 @@ There are three ways in which you can contribute to this repository:
|
||||
2. By working on the back-end application
|
||||
3. By working on the front-end application
|
||||
|
||||
Choosing what to work on in a large open source project is not easy. The list of GitHub issues may provide some ideas, but not every feature request has been greenlit. Likewise, not every change or feature that resolves a personal itch will be merged into the main repository. Some communication ahead of time may be wise.
|
||||
Choosing what to work on in a large open source project is not easy. The list of [GitHub issues](https://github.com/tootsuite/mastodon/issues) may provide some ideas, but not every feature request has been greenlit. Likewise, not every change or feature that resolves a personal itch will be merged into the main repository. Some communication ahead of time may be wise. If your addition creates a new feature or setting, or otherwise changes how things work in some substantial way, please remember to submit a correlating pull request to document your changes in the [documentation](http://github.com/tootsuite/documentation).
|
||||
|
||||
Below are the guidelines for working on pull requests:
|
||||
|
||||
@@ -21,9 +21,17 @@ Below are the guidelines for working on pull requests:
|
||||
- No orthographic mistakes
|
||||
- No Markdown syntax errors
|
||||
|
||||
## Requirements
|
||||
|
||||
- Ruby
|
||||
- Node.js
|
||||
- PostgreSQL
|
||||
- Redis
|
||||
- Nginx (optional)
|
||||
|
||||
## Back-end application
|
||||
|
||||
It is expected that you have a working development environment set up. The development environment includes rubocop, which checks your Ruby code for compliance with our style guide and best practices. Sublime Text, likely like other editors, has a Rubocop plugin that runs checks on files as you edit them. The codebase also has a test suite.
|
||||
It is expected that you have a working development environment set up. The development environment includes [rubocop](https://github.com/bbatsov/rubocop), which checks your Ruby code for compliance with our style guide and best practices. Sublime Text, likely like other editors, has a [Rubocop plugin](https://github.com/pderichs/sublime_rubocop) that runs checks on files as you edit them. The codebase also has a test suite.
|
||||
|
||||
* The codebase is not perfect, at the time of writing, but it is expected that you do not introduce new code style violations
|
||||
* The rspec test suite must pass
|
||||
|
15
Dockerfile
@@ -1,4 +1,4 @@
|
||||
FROM ruby:2.3.1-alpine
|
||||
FROM ruby:2.4.1-alpine
|
||||
|
||||
LABEL maintainer="https://github.com/tootsuite/mastodon" \
|
||||
description="A GNU Social-compatible microblogging server"
|
||||
@@ -12,25 +12,30 @@ WORKDIR /mastodon
|
||||
|
||||
COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/
|
||||
|
||||
RUN BUILD_DEPS=" \
|
||||
RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
|
||||
&& BUILD_DEPS=" \
|
||||
postgresql-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
python \
|
||||
build-base" \
|
||||
&& apk -U upgrade && apk add \
|
||||
$BUILD_DEPS \
|
||||
nodejs \
|
||||
nodejs@edge \
|
||||
nodejs-npm@edge \
|
||||
libpq \
|
||||
libxml2 \
|
||||
libxslt \
|
||||
ffmpeg \
|
||||
file \
|
||||
imagemagick \
|
||||
imagemagick@edge \
|
||||
ca-certificates \
|
||||
&& npm install -g npm@3 && npm install -g yarn \
|
||||
&& bundle install --deployment --without test development \
|
||||
&& yarn \
|
||||
&& yarn --ignore-optional \
|
||||
&& yarn cache clean \
|
||||
&& npm -g cache clean \
|
||||
&& update-ca-certificates \
|
||||
&& apk del $BUILD_DEPS \
|
||||
&& rm -rf /tmp/* /var/cache/apk/*
|
||||
|
||||
|
19
Gemfile
@@ -1,12 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
source 'https://rubygems.org'
|
||||
ruby '2.3.1'
|
||||
ruby '>= 2.3.0', '< 2.5.0'
|
||||
|
||||
gem 'pkg-config'
|
||||
|
||||
gem 'rails', '~> 5.0.2'
|
||||
gem 'sass-rails', '~> 5.0'
|
||||
gem 'uglifier', '>= 1.3.0'
|
||||
gem 'coffee-rails', '~> 4.1.0'
|
||||
gem 'jquery-rails'
|
||||
gem 'puma'
|
||||
|
||||
@@ -32,27 +33,32 @@ gem 'htmlentities'
|
||||
gem 'http'
|
||||
gem 'http_accept_language'
|
||||
gem 'httplog'
|
||||
gem 'kaminari'
|
||||
gem 'link_header'
|
||||
gem 'local_time'
|
||||
gem 'nokogiri'
|
||||
gem 'oj'
|
||||
gem 'ostatus2'
|
||||
gem 'ostatus2', '~> 1.1'
|
||||
gem 'ox'
|
||||
gem 'rabl'
|
||||
gem 'rack-attack'
|
||||
gem 'rack-cors', require: 'rack/cors'
|
||||
gem 'rack-timeout'
|
||||
gem 'rails-i18n'
|
||||
gem 'rails-settings-cached'
|
||||
gem 'redis', '~>3.2', require: ['redis', 'redis/connection/hiredis']
|
||||
gem 'rqrcode'
|
||||
gem 'ruby-oembed', require: 'oembed'
|
||||
gem 'sanitize'
|
||||
gem 'sidekiq'
|
||||
gem 'sidekiq-unique-jobs'
|
||||
gem 'simple-navigation'
|
||||
gem 'simple_form'
|
||||
gem 'sprockets-rails', :require => 'sprockets/railtie'
|
||||
gem 'statsd-instrument'
|
||||
gem 'twitter-text'
|
||||
gem 'tzinfo-data'
|
||||
gem 'will_paginate'
|
||||
gem 'whatlanguage'
|
||||
|
||||
gem 'react-rails'
|
||||
gem 'browserify-rails'
|
||||
@@ -67,7 +73,10 @@ group :development, :test do
|
||||
end
|
||||
|
||||
group :test do
|
||||
gem 'capybara'
|
||||
gem 'faker'
|
||||
gem 'microformats2'
|
||||
gem 'rails-controller-testing'
|
||||
gem 'rspec-sidekiq'
|
||||
gem 'simplecov', require: false
|
||||
gem 'webmock'
|
||||
@@ -82,7 +91,7 @@ group :development do
|
||||
gem 'bullet'
|
||||
gem 'active_record_query_trace'
|
||||
|
||||
gem 'capistrano'
|
||||
gem 'capistrano', '3.8.0'
|
||||
gem 'capistrano-rails'
|
||||
gem 'capistrano-rbenv'
|
||||
gem 'capistrano-yarn'
|
||||
|
260
Gemfile.lock
@@ -24,7 +24,7 @@ GEM
|
||||
erubis (~> 2.7.0)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
active_record_query_trace (1.5.3)
|
||||
active_record_query_trace (1.5.4)
|
||||
activejob (5.0.2)
|
||||
activesupport (= 5.0.2)
|
||||
globalid (>= 0.3.6)
|
||||
@@ -39,25 +39,25 @@ GEM
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.5.0)
|
||||
addressable (2.5.1)
|
||||
public_suffix (~> 2.0, >= 2.0.2)
|
||||
airbrussh (1.1.2)
|
||||
airbrussh (1.2.0)
|
||||
sshkit (>= 1.6.1, != 1.7.0)
|
||||
arel (7.1.4)
|
||||
ast (2.3.0)
|
||||
attr_encrypted (3.0.3)
|
||||
encryptor (~> 3.0.0)
|
||||
autoprefixer-rails (6.5.0.2)
|
||||
autoprefixer-rails (6.7.7.1)
|
||||
execjs
|
||||
av (0.9.0)
|
||||
cocaine (~> 0.5.3)
|
||||
aws-sdk (2.6.28)
|
||||
aws-sdk-resources (= 2.6.28)
|
||||
aws-sdk-core (2.6.28)
|
||||
aws-sdk (2.9.6)
|
||||
aws-sdk-resources (= 2.9.6)
|
||||
aws-sdk-core (2.9.6)
|
||||
aws-sigv4 (~> 1.0)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-resources (2.6.28)
|
||||
aws-sdk-core (= 2.6.28)
|
||||
aws-sdk-resources (2.9.6)
|
||||
aws-sdk-core (= 2.9.6)
|
||||
aws-sigv4 (1.0.0)
|
||||
babel-source (5.8.35)
|
||||
babel-transpiler (0.7.0)
|
||||
@@ -78,12 +78,11 @@ GEM
|
||||
railties (>= 4.0.0, < 5.1)
|
||||
sprockets (>= 3.6.0)
|
||||
builder (3.2.3)
|
||||
bullet (5.3.0)
|
||||
bullet (5.5.1)
|
||||
activesupport (>= 3.0.0)
|
||||
uniform_notifier (~> 1.10.0)
|
||||
capistrano (3.7.2)
|
||||
capistrano (3.8.0)
|
||||
airbrussh (>= 1.0.0)
|
||||
capistrano-harrow
|
||||
i18n
|
||||
rake (>= 10.0.0)
|
||||
sshkit (>= 1.9.0)
|
||||
@@ -92,8 +91,7 @@ GEM
|
||||
sshkit (~> 1.2)
|
||||
capistrano-faster-assets (1.0.2)
|
||||
capistrano (>= 3.1)
|
||||
capistrano-harrow (0.5.3)
|
||||
capistrano-rails (1.2.2)
|
||||
capistrano-rails (1.2.3)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-bundler (~> 1.1)
|
||||
capistrano-rbenv (2.1.0)
|
||||
@@ -101,14 +99,21 @@ GEM
|
||||
sshkit (~> 1.3)
|
||||
capistrano-yarn (2.0.2)
|
||||
capistrano (~> 3.0)
|
||||
capybara (2.13.0)
|
||||
addressable
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (~> 2.0)
|
||||
chunky_png (1.3.8)
|
||||
climate_control (0.1.0)
|
||||
cocaine (0.5.8)
|
||||
climate_control (>= 0.0.3, < 1.0)
|
||||
coderay (1.1.1)
|
||||
coffee-rails (4.1.1)
|
||||
coffee-rails (4.2.1)
|
||||
coffee-script (>= 2.2.0)
|
||||
railties (>= 4.0.0, < 5.1.x)
|
||||
railties (>= 4.0.0, < 5.2.x)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
@@ -118,8 +123,9 @@ GEM
|
||||
connection_pool (2.2.1)
|
||||
crack (0.4.3)
|
||||
safe_yaml (~> 1.0.0)
|
||||
crass (1.0.2)
|
||||
debug_inspector (0.0.2)
|
||||
devise (4.2.0)
|
||||
devise (4.2.1)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
railties (>= 4.1.0, < 5.1)
|
||||
@@ -131,16 +137,16 @@ GEM
|
||||
devise (~> 4.0)
|
||||
railties
|
||||
rotp (~> 2.0)
|
||||
diff-lcs (1.2.5)
|
||||
diff-lcs (1.3)
|
||||
docile (1.1.5)
|
||||
domain_name (0.5.20161129)
|
||||
domain_name (0.5.20170404)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
doorkeeper (4.2.0)
|
||||
doorkeeper (4.2.5)
|
||||
railties (>= 4.2)
|
||||
dotenv (2.1.1)
|
||||
dotenv-rails (2.1.1)
|
||||
dotenv (= 2.1.1)
|
||||
railties (>= 4.0, < 5.1)
|
||||
dotenv (2.2.0)
|
||||
dotenv-rails (2.2.0)
|
||||
dotenv (= 2.2.0)
|
||||
railties (>= 3.2, < 5.1)
|
||||
easy_translate (0.5.0)
|
||||
json
|
||||
thread
|
||||
@@ -148,35 +154,35 @@ GEM
|
||||
encryptor (3.0.0)
|
||||
erubis (2.7.0)
|
||||
execjs (2.7.0)
|
||||
fabrication (2.15.2)
|
||||
faker (1.6.6)
|
||||
fabrication (2.16.1)
|
||||
faker (1.7.3)
|
||||
i18n (~> 0.5)
|
||||
fast_blank (1.0.0)
|
||||
font-awesome-rails (4.6.3.1)
|
||||
font-awesome-rails (4.7.0.1)
|
||||
railties (>= 3.2, < 5.1)
|
||||
fuubar (2.1.1)
|
||||
rspec (~> 3.0)
|
||||
fuubar (2.2.0)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
globalid (0.3.7)
|
||||
activesupport (>= 4.1.0)
|
||||
goldfinger (1.1.2)
|
||||
goldfinger (1.2.0)
|
||||
addressable (~> 2.4)
|
||||
http (~> 2.0)
|
||||
nokogiri (~> 1.6)
|
||||
hamlit (2.7.2)
|
||||
temple (~> 0.7.6)
|
||||
hamlit (2.8.1)
|
||||
temple (>= 0.8.0)
|
||||
thor
|
||||
tilt
|
||||
hamlit-rails (0.1.0)
|
||||
hamlit-rails (0.2.0)
|
||||
actionpack (>= 4.0.1)
|
||||
activesupport (>= 4.0.1)
|
||||
hamlit (>= 1.2.0)
|
||||
railties (>= 4.0.1)
|
||||
hashdiff (0.3.0)
|
||||
hashdiff (0.3.2)
|
||||
highline (1.7.8)
|
||||
hiredis (0.6.1)
|
||||
htmlentities (4.3.4)
|
||||
http (2.1.0)
|
||||
http (2.2.1)
|
||||
addressable (~> 2.3)
|
||||
http-cookie (~> 1.0)
|
||||
http-form_data (~> 1.0.1)
|
||||
@@ -186,10 +192,10 @@ GEM
|
||||
http-form_data (1.0.1)
|
||||
http_accept_language (2.1.0)
|
||||
http_parser.rb (0.6.0)
|
||||
httplog (0.3.2)
|
||||
httplog (0.99.2)
|
||||
colorize
|
||||
i18n (0.8.1)
|
||||
i18n-tasks (0.9.6)
|
||||
i18n-tasks (0.9.13)
|
||||
activesupport (>= 4.0.2)
|
||||
ast (>= 2.1.0)
|
||||
easy_translate (>= 0.5.0)
|
||||
@@ -197,23 +203,37 @@ GEM
|
||||
highline (>= 1.7.3)
|
||||
i18n
|
||||
parser (>= 2.2.3.0)
|
||||
term-ansicolor (>= 1.3.2)
|
||||
rainbow (~> 2.2)
|
||||
terminal-table (>= 1.5.1)
|
||||
jmespath (1.3.1)
|
||||
jquery-rails (4.1.1)
|
||||
jquery-rails (4.3.1)
|
||||
rails-dom-testing (>= 1, < 3)
|
||||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
json (1.8.3)
|
||||
json (2.0.3)
|
||||
kaminari (1.0.1)
|
||||
activesupport (>= 4.1.0)
|
||||
kaminari-actionview (= 1.0.1)
|
||||
kaminari-activerecord (= 1.0.1)
|
||||
kaminari-core (= 1.0.1)
|
||||
kaminari-actionview (1.0.1)
|
||||
actionview
|
||||
kaminari-core (= 1.0.1)
|
||||
kaminari-activerecord (1.0.1)
|
||||
activerecord
|
||||
kaminari-core (= 1.0.1)
|
||||
kaminari-core (1.0.1)
|
||||
launchy (2.4.3)
|
||||
addressable (~> 2.3)
|
||||
letter_opener (1.4.1)
|
||||
launchy (~> 2.2)
|
||||
letter_opener_web (1.3.0)
|
||||
letter_opener_web (1.3.1)
|
||||
actionmailer (>= 3.2)
|
||||
letter_opener (~> 1.0)
|
||||
railties (>= 3.2)
|
||||
link_header (0.0.8)
|
||||
local_time (1.0.3)
|
||||
coffee-rails
|
||||
lograge (0.4.1)
|
||||
actionpack (>= 4, < 5.1)
|
||||
activesupport (>= 4, < 5.1)
|
||||
@@ -223,6 +243,10 @@ GEM
|
||||
mail (2.6.4)
|
||||
mime-types (>= 1.16, < 4)
|
||||
method_source (0.8.2)
|
||||
microformats2 (2.1.0)
|
||||
activesupport
|
||||
json
|
||||
nokogiri
|
||||
mime-types (3.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2016.0521)
|
||||
@@ -231,16 +255,20 @@ GEM
|
||||
minitest (5.10.1)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (4.0.1)
|
||||
net-ssh (4.1.0)
|
||||
nio4r (2.0.0)
|
||||
nokogiri (1.7.1)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
oj (2.17.3)
|
||||
nokogumbo (1.4.10)
|
||||
nokogiri
|
||||
oj (2.18.5)
|
||||
openssl (2.0.3)
|
||||
orm_adapter (0.5.0)
|
||||
ostatus2 (1.0.2)
|
||||
ostatus2 (1.1.0)
|
||||
addressable (~> 2.4)
|
||||
http (~> 2.0)
|
||||
nokogiri (~> 1.6)
|
||||
openssl (~> 2.0)
|
||||
ox (2.4.11)
|
||||
paperclip (5.1.0)
|
||||
activemodel (>= 4.2.0)
|
||||
@@ -251,26 +279,27 @@ GEM
|
||||
paperclip-av-transcoder (0.6.4)
|
||||
av (~> 0.9.0)
|
||||
paperclip (>= 2.5.2)
|
||||
parser (2.3.1.2)
|
||||
parser (2.4.0.0)
|
||||
ast (~> 2.2)
|
||||
pg (0.18.4)
|
||||
pghero (1.6.2)
|
||||
pg (0.20.0)
|
||||
pghero (1.6.4)
|
||||
activerecord
|
||||
pkg-config (1.1.7)
|
||||
powerpack (0.1.1)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
pry-rails (0.3.4)
|
||||
pry (>= 0.9.10)
|
||||
public_suffix (2.0.4)
|
||||
puma (3.6.0)
|
||||
pry-rails (0.3.6)
|
||||
pry (>= 0.10.4)
|
||||
public_suffix (2.0.5)
|
||||
puma (3.8.2)
|
||||
rabl (0.13.1)
|
||||
activesupport (>= 2.3.14)
|
||||
rack (2.0.1)
|
||||
rack-attack (5.0.1)
|
||||
rack
|
||||
rack-cors (0.4.0)
|
||||
rack-cors (0.4.1)
|
||||
rack-protection (1.5.3)
|
||||
rack
|
||||
rack-test (0.6.3)
|
||||
@@ -288,11 +317,18 @@ GEM
|
||||
bundler (>= 1.3.0, < 2.0)
|
||||
railties (= 5.0.2)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-controller-testing (1.0.1)
|
||||
actionpack (~> 5.x)
|
||||
actionview (~> 5.x)
|
||||
activesupport (~> 5.x)
|
||||
rails-dom-testing (2.0.2)
|
||||
activesupport (>= 4.2.0, < 6.0)
|
||||
nokogiri (~> 1.6)
|
||||
rails-html-sanitizer (1.0.3)
|
||||
loofah (~> 2.0)
|
||||
rails-i18n (5.0.3)
|
||||
i18n (~> 0.7)
|
||||
railties (~> 5.0)
|
||||
rails-settings-cached (0.6.5)
|
||||
rails (>= 4.2.0)
|
||||
rails_12factor (0.0.3)
|
||||
@@ -306,42 +342,37 @@ GEM
|
||||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rainbow (2.1.0)
|
||||
rainbow (2.2.1)
|
||||
rake (12.0.0)
|
||||
react-rails (1.10.0)
|
||||
react-rails (1.11.0)
|
||||
babel-transpiler (>= 0.7.0)
|
||||
coffee-script-source (~> 1.8)
|
||||
connection_pool
|
||||
execjs
|
||||
railties (>= 3.2)
|
||||
tilt
|
||||
redis (3.3.2)
|
||||
redis-actionpack (5.0.0)
|
||||
actionpack (>= 4.0.0, < 6)
|
||||
redis-rack (~> 2.0.0.pre)
|
||||
redis-store (~> 1.2.0.pre)
|
||||
redis-activesupport (5.0.1)
|
||||
redis (3.3.3)
|
||||
redis-actionpack (5.0.1)
|
||||
actionpack (>= 4.0, < 6)
|
||||
redis-rack (>= 1, < 3)
|
||||
redis-store (>= 1.1.0, < 1.4.0)
|
||||
redis-activesupport (5.0.2)
|
||||
activesupport (>= 3, < 6)
|
||||
redis-store (~> 1.2.0)
|
||||
redis-rack (2.0.0)
|
||||
rack (~> 2.0)
|
||||
redis-store (~> 1.2.0)
|
||||
redis-rails (5.0.1)
|
||||
redis-actionpack (~> 5.0.0)
|
||||
redis-activesupport (~> 5.0.0)
|
||||
redis-store (~> 1.2.0)
|
||||
redis-store (1.2.0)
|
||||
redis-store (~> 1.3.0)
|
||||
redis-rack (2.0.1)
|
||||
rack (>= 2.0, < 3)
|
||||
redis-store (>= 1.2, < 1.4)
|
||||
redis-rails (5.0.2)
|
||||
redis-actionpack (>= 5.0, < 6)
|
||||
redis-activesupport (>= 5.0, < 6)
|
||||
redis-store (>= 1.2, < 2)
|
||||
redis-store (1.3.0)
|
||||
redis (>= 2.2)
|
||||
responders (2.3.0)
|
||||
railties (>= 4.2.0, < 5.1)
|
||||
rotp (2.1.2)
|
||||
rqrcode (0.10.1)
|
||||
chunky_png (~> 1.0)
|
||||
rspec (3.5.0)
|
||||
rspec-core (~> 3.5.0)
|
||||
rspec-expectations (~> 3.5.0)
|
||||
rspec-mocks (~> 3.5.0)
|
||||
rspec-core (3.5.2)
|
||||
rspec-core (3.5.4)
|
||||
rspec-support (~> 3.5.0)
|
||||
rspec-expectations (3.5.0)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
@@ -349,7 +380,7 @@ GEM
|
||||
rspec-mocks (3.5.0)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.5.0)
|
||||
rspec-rails (3.5.1)
|
||||
rspec-rails (3.5.2)
|
||||
actionpack (>= 3.0)
|
||||
activesupport (>= 3.0)
|
||||
railties (>= 3.0)
|
||||
@@ -357,40 +388,44 @@ GEM
|
||||
rspec-expectations (~> 3.5.0)
|
||||
rspec-mocks (~> 3.5.0)
|
||||
rspec-support (~> 3.5.0)
|
||||
rspec-sidekiq (2.2.0)
|
||||
rspec (~> 3.0, >= 3.0.0)
|
||||
rspec-sidekiq (3.0.0)
|
||||
rspec-core (~> 3.0, >= 3.0.0)
|
||||
sidekiq (>= 2.4.0)
|
||||
rspec-support (3.5.0)
|
||||
rubocop (0.42.0)
|
||||
parser (>= 2.3.1.1, < 3.0)
|
||||
rubocop (0.48.1)
|
||||
parser (>= 2.3.3.1, < 3.0)
|
||||
powerpack (~> 0.1)
|
||||
rainbow (>= 1.99.1, < 3.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||
ruby-oembed (0.10.1)
|
||||
ruby-oembed (0.12.0)
|
||||
ruby-progressbar (1.8.1)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.4.22)
|
||||
sanitize (4.4.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.4.4)
|
||||
nokogumbo (~> 1.4.1)
|
||||
sass (3.4.23)
|
||||
sass-rails (5.0.6)
|
||||
railties (>= 4.0.0, < 6)
|
||||
sass (~> 3.1)
|
||||
sprockets (>= 2.8, < 4.0)
|
||||
sprockets-rails (>= 2.0, < 4.0)
|
||||
tilt (>= 1.1, < 3)
|
||||
sidekiq (4.2.7)
|
||||
sidekiq (4.2.10)
|
||||
concurrent-ruby (~> 1.0)
|
||||
connection_pool (~> 2.2, >= 2.2.0)
|
||||
rack-protection (>= 1.5.0)
|
||||
redis (~> 3.2, >= 3.2.1)
|
||||
sidekiq-unique-jobs (4.0.18)
|
||||
sidekiq (>= 2.6)
|
||||
sidekiq-unique-jobs (5.0.0)
|
||||
sidekiq (>= 4.0)
|
||||
thor
|
||||
simple-navigation (4.0.3)
|
||||
simple-navigation (4.0.5)
|
||||
activesupport (>= 2.3.2)
|
||||
simple_form (3.2.1)
|
||||
simple_form (3.4.0)
|
||||
actionpack (> 4, < 5.1)
|
||||
activemodel (> 4, < 5.1)
|
||||
simplecov (0.12.0)
|
||||
simplecov (0.14.1)
|
||||
docile (~> 1.1.0)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov-html (~> 0.10.0)
|
||||
@@ -403,43 +438,42 @@ GEM
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sshkit (1.11.5)
|
||||
sshkit (1.13.1)
|
||||
net-scp (>= 1.1.2)
|
||||
net-ssh (>= 2.8.0)
|
||||
statsd-instrument (2.1.2)
|
||||
temple (0.7.7)
|
||||
term-ansicolor (1.4.0)
|
||||
tins (~> 1.0)
|
||||
terminal-table (1.7.0)
|
||||
unicode-display_width (~> 1.1)
|
||||
temple (0.8.0)
|
||||
terminal-table (1.7.3)
|
||||
unicode-display_width (~> 1.1.1)
|
||||
thor (0.19.4)
|
||||
thread (0.2.2)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.6)
|
||||
tins (1.12.0)
|
||||
tilt (2.0.7)
|
||||
twitter-text (1.14.5)
|
||||
unf (~> 0.1.0)
|
||||
tzinfo (1.2.2)
|
||||
tzinfo (1.2.3)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2017.2)
|
||||
tzinfo (>= 1.0.0)
|
||||
uglifier (3.0.1)
|
||||
uglifier (3.2.0)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.2)
|
||||
unicode-display_width (1.1.0)
|
||||
unf_ext (0.0.7.4)
|
||||
unicode-display_width (1.1.3)
|
||||
uniform_notifier (1.10.0)
|
||||
warden (1.2.6)
|
||||
warden (1.2.7)
|
||||
rack (>= 1.0)
|
||||
webmock (2.1.0)
|
||||
webmock (2.3.2)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
hashdiff
|
||||
websocket-driver (0.6.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
will_paginate (3.1.0)
|
||||
whatlanguage (1.0.6)
|
||||
xpath (2.0.0)
|
||||
nokogiri (~> 1.3)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@@ -454,12 +488,12 @@ DEPENDENCIES
|
||||
binding_of_caller
|
||||
browserify-rails
|
||||
bullet
|
||||
capistrano
|
||||
capistrano (= 3.8.0)
|
||||
capistrano-faster-assets (~> 1.0)
|
||||
capistrano-rails
|
||||
capistrano-rbenv
|
||||
capistrano-yarn
|
||||
coffee-rails (~> 4.1.0)
|
||||
capybara
|
||||
devise
|
||||
devise-two-factor
|
||||
doorkeeper
|
||||
@@ -478,18 +512,22 @@ DEPENDENCIES
|
||||
httplog
|
||||
i18n-tasks (~> 0.9.6)
|
||||
jquery-rails
|
||||
kaminari
|
||||
letter_opener
|
||||
letter_opener_web
|
||||
link_header
|
||||
local_time
|
||||
lograge
|
||||
microformats2
|
||||
nokogiri
|
||||
oj
|
||||
ostatus2
|
||||
ostatus2 (~> 1.1)
|
||||
ox
|
||||
paperclip (~> 5.1)
|
||||
paperclip-av-transcoder
|
||||
pg
|
||||
pghero
|
||||
pkg-config
|
||||
pry-rails
|
||||
puma
|
||||
rabl
|
||||
@@ -497,6 +535,8 @@ DEPENDENCIES
|
||||
rack-cors
|
||||
rack-timeout
|
||||
rails (~> 5.0.2)
|
||||
rails-controller-testing
|
||||
rails-i18n
|
||||
rails-settings-cached
|
||||
rails_12factor
|
||||
react-rails
|
||||
@@ -507,21 +547,23 @@ DEPENDENCIES
|
||||
rspec-sidekiq
|
||||
rubocop
|
||||
ruby-oembed
|
||||
sanitize
|
||||
sass-rails (~> 5.0)
|
||||
sidekiq
|
||||
sidekiq-unique-jobs
|
||||
simple-navigation
|
||||
simple_form
|
||||
simplecov
|
||||
sprockets-rails
|
||||
statsd-instrument
|
||||
twitter-text
|
||||
tzinfo-data
|
||||
uglifier (>= 1.3.0)
|
||||
webmock
|
||||
will_paginate
|
||||
whatlanguage
|
||||
|
||||
RUBY VERSION
|
||||
ruby 2.3.1p112
|
||||
ruby 2.4.1p111
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.5
|
||||
1.14.6
|
||||
|
@@ -3,3 +3,4 @@
|
||||
* * * *
|
||||
|
||||
- [ ] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
|
||||
- [ ] This bug happens on a [tagged release](https://github.com/tootsuite/mastodon/releases) and not on `master` (If you're a user, don't worry about this).
|
||||
|
99
README.md
@@ -9,7 +9,7 @@ Mastodon
|
||||
|
||||
Mastodon is a free, open-source social network server. A decentralized solution to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.
|
||||
|
||||
An alternative implementation of the GNU social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon.
|
||||
An alternative implementation of the GNU social project. Based on [ActivityStreams](https://en.wikipedia.org/wiki/Activity_Streams_(format)), [Webfinger](https://en.wikipedia.org/wiki/WebFinger), [PubsubHubbub](https://en.wikipedia.org/wiki/PubSubHubbub) and [Salmon](https://en.wikipedia.org/wiki/Salmon_(protocol)).
|
||||
|
||||
Click on the screenshot to watch a demo of the UI:
|
||||
|
||||
@@ -25,11 +25,11 @@ If you would like, you can [support the development of this project on Patreon][
|
||||
|
||||
## Resources
|
||||
|
||||
- [List of Mastodon instances](docs/Using-Mastodon/List-of-Mastodon-instances.md)
|
||||
- [List of Mastodon instances](https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md)
|
||||
- [Use this tool to find Twitter friends on Mastodon](https://mastodon-bridge.herokuapp.com)
|
||||
- [API overview](docs/Using-the-API/API.md)
|
||||
- [Frequently Asked Questions](docs/Using-Mastodon/FAQ.md)
|
||||
- [List of apps](docs/Using-Mastodon/Apps.md)
|
||||
- [API overview](https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md)
|
||||
- [Frequently Asked Questions](https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/FAQ.md)
|
||||
- [List of apps](https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -48,94 +48,9 @@ If you would like, you can [support the development of this project on Patreon][
|
||||
- **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
|
||||
|
||||
## Configuration
|
||||
## Deployment
|
||||
|
||||
- `LOCAL_DOMAIN` should be the domain/hostname of your instance. This is **absolutely required** as it is used for generating unique IDs for everything federation-related
|
||||
- `LOCAL_HTTPS` set it to `true` if HTTPS works on your website. This is used to generate canonical URLs, which is also important when generating and parsing federation-related IDs
|
||||
|
||||
Consult the example configuration file, `.env.production.sample` for the full list. Among other things you need to set details for the SMTP server you are going to use.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Ruby
|
||||
- Node.js
|
||||
- PostgreSQL
|
||||
- Redis
|
||||
- Nginx
|
||||
|
||||
## Running with Docker and Docker-Compose
|
||||
|
||||
[](https://microbadger.com/images/gargron/mastodon "Get your own version badge on microbadger.com") [](https://microbadger.com/images/gargron/mastodon "Get your own image badge on microbadger.com")
|
||||
|
||||
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 -d
|
||||
|
||||
As usual, the first thing you would need to do would be to run migrations:
|
||||
|
||||
docker-compose run --rm web rails db:migrate
|
||||
|
||||
And since the instance running in the container will be running in production mode, you need to pre-compile assets:
|
||||
|
||||
docker-compose run --rm web rails assets:precompile
|
||||
|
||||
The container has two volumes, for the assets and for user uploads. The default docker-compose.yml maps them to the repository's `public/assets` and `public/system` directories, you may wish to put them somewhere else. Likewise, the PostgreSQL and Redis images have data containers that you may wish to map somewhere where you know how to find them and back them up.
|
||||
|
||||
**Note**: The `--rm` option for docker-compose will remove the container that is created to run a one-off command after it completes. As data is stored in volumes it is not affected by that container clean-up.
|
||||
|
||||
### Tasks
|
||||
|
||||
- `rake mastodon:media:clear` removes uploads that have not been attached to any status after a while, you would want to run this from a periodic cronjob
|
||||
- `rake mastodon:push:clear` unsubscribes from PuSH notifications for remote users that have no local followers. You may not want to actually do that, to keep a fuller footprint of the fediverse or in case your users will soon re-follow
|
||||
- `rake mastodon:push:refresh` re-subscribes PuSH for expiring remote users, this should be run periodically from a cronjob and quite often as the expiration time depends on the particular hub of the remote user
|
||||
- `rake mastodon:feeds:clear_all` removes all timelines, which forces them to be re-built on the fly next time a user tries to fetch their home/mentions timeline. Only for troubleshooting
|
||||
- `rake mastodon:feeds:clear` removes timelines of users who haven't signed in lately, which allows to save RAM and improve message distribution. This is required to be run periodically so that when they login again the regeneration process will trigger
|
||||
|
||||
Running any of these tasks via docker-compose would look like this:
|
||||
|
||||
docker-compose run --rm web rake mastodon:media:clear
|
||||
|
||||
### Updating
|
||||
|
||||
This approach makes updating to the latest version a real breeze.
|
||||
|
||||
git pull
|
||||
|
||||
To pull down the updates, re-run
|
||||
|
||||
docker-compose build
|
||||
|
||||
And finally,
|
||||
|
||||
docker-compose up -d
|
||||
|
||||
Which will re-create the updated containers, leaving databases and data as is. Depending on what files have been updated, you might need to re-run migrations and asset compilation.
|
||||
|
||||
## Deployment without Docker
|
||||
|
||||
Docker is great for quickly trying out software, but it has its drawbacks too. If you prefer to run Mastodon without using Docker, refer to the [production guide](docs/Running-Mastodon/Production-guide.md) for examples, configuration and instructions.
|
||||
|
||||
## Deployment on Scalingo
|
||||
|
||||
[](https://my.scalingo.com/deploy?source=https://github.com/tootsuite/mastodon#master)
|
||||
|
||||
[You can view a guide for deployment on Scalingo here.](docs/Running-Mastodon/Scalingo-guide.md)
|
||||
|
||||
## Deployment on Heroku (experimental)
|
||||
|
||||
[](https://heroku.com/deploy)
|
||||
|
||||
Mastodon can theoretically run indefinitely on a free [Heroku](https://heroku.com) app. [You can view a guide for deployment on Heroku here.](docs/Running-Mastodon/Heroku-guide.md)
|
||||
|
||||
## Development with Vagrant
|
||||
|
||||
A quick way to get a development environment up and running is with Vagrant. You will need recent versions of [Vagrant](https://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) installed.
|
||||
|
||||
[You can find the guide for setting up a Vagrant development environment here.](docs/Running-Mastodon/Vagrant-guide.md)
|
||||
There are guides in the documentation repository for [deploying on various platforms](https://github.com/tootsuite/documentation#running-mastodon).
|
||||
|
||||
## Contributing
|
||||
|
||||
|
27
Vagrantfile
vendored
@@ -35,22 +35,12 @@ sudo apt-get install \
|
||||
libreadline-dev \
|
||||
-y
|
||||
|
||||
# Install rbenv
|
||||
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
|
||||
cd ~/.rbenv && src/configure && make -C src
|
||||
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
|
||||
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
|
||||
|
||||
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
|
||||
|
||||
export PATH="$HOME/.rbenv/bin::$PATH"
|
||||
eval "$(rbenv init -)"
|
||||
|
||||
echo "Compiling Ruby 2.3.1: warning, this takes a while!!!"
|
||||
rbenv install 2.3.1
|
||||
rbenv global 2.3.1
|
||||
|
||||
# Install rvm
|
||||
cd /vagrant
|
||||
read RUBY_VERSION < .ruby-version
|
||||
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
|
||||
curl -sSL https://get.rvm.io | bash -s stable --ruby=$RUBY_VERSION
|
||||
source /home/vagrant/.rvm/scripts/rvm
|
||||
|
||||
# Configure database
|
||||
sudo -u postgres createuser -U postgres vagrant -s
|
||||
@@ -62,6 +52,7 @@ bundle install
|
||||
yarn install
|
||||
|
||||
# Build Mastodon
|
||||
export $(cat ".env.vagrant" | xargs)
|
||||
bundle exec rails db:setup
|
||||
bundle exec rails assets:precompile
|
||||
|
||||
@@ -107,7 +98,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
config.hostsupdater.remove_on_suspend = false
|
||||
end
|
||||
|
||||
config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['rw', 'vers=3', 'tcp']
|
||||
if config.vm.networks.any? { |type, options| type == :private_network }
|
||||
config.vm.synced_folder ".", "/vagrant", type: "nfs", mount_options: ['rw', 'vers=3', 'tcp']
|
||||
else
|
||||
config.vm.synced_folder ".", "/vagrant"
|
||||
end
|
||||
|
||||
# Otherwise, you can access the site at http://localhost:3000
|
||||
config.vm.network :forwarded_port, guest: 80, host: 3000
|
||||
|
12
app.json
@@ -79,6 +79,18 @@
|
||||
"SMTP_FROM_ADDRESS": {
|
||||
"description": "Address to send emails from",
|
||||
"required": false
|
||||
},
|
||||
"SMTP_AUTH_METHOD": {
|
||||
"description": "Authentication method to use with SMTP server. Default is 'plain'.",
|
||||
"required": false
|
||||
},
|
||||
"SMTP_OPENSSL_VERIFY_MODE": {
|
||||
"description": "SMTP server certificate verification mode. Defaults is 'peer'.",
|
||||
"required": false
|
||||
},
|
||||
"SMTP_ENABLE_STARTTLS_AUTO": {
|
||||
"description": "Enable STARTTLS if SMTP server supports it? Default is true.",
|
||||
"required": false
|
||||
}
|
||||
},
|
||||
"buildpacks": [
|
||||
|
Before Width: | Height: | Size: 334 KiB |
Before Width: | Height: | Size: 369 KiB |
Before Width: | Height: | Size: 366 KiB |
Before Width: | Height: | Size: 349 KiB |
Before Width: | Height: | Size: 373 KiB |
Before Width: | Height: | Size: 331 KiB |
Before Width: | Height: | Size: 370 KiB |
0
app/assets/fonts/roboto-mono/robotomono-regular-webfont.eot
Executable file → Normal file
0
app/assets/fonts/roboto-mono/robotomono-regular-webfont.svg
Executable file → Normal file
Before Width: | Height: | Size: 339 KiB After Width: | Height: | Size: 339 KiB |
0
app/assets/fonts/roboto-mono/robotomono-regular-webfont.ttf
Executable file → Normal file
0
app/assets/fonts/roboto-mono/robotomono-regular-webfont.woff
Executable file → Normal file
0
app/assets/fonts/roboto-mono/robotomono-regular-webfont.woff2
Executable file → Normal file
Before Width: | Height: | Size: 362 KiB |
Before Width: | Height: | Size: 378 KiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 1.5 MiB |
0
app/assets/fonts/roboto/roboto-bold-webfont.eot
Executable file → Normal file
0
app/assets/fonts/roboto/roboto-bold-webfont.svg
Executable file → Normal file
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
0
app/assets/fonts/roboto/roboto-bold-webfont.ttf
Executable file → Normal file
0
app/assets/fonts/roboto/roboto-bold-webfont.woff
Executable file → Normal file
0
app/assets/fonts/roboto/roboto-bold-webfont.woff2
Executable file → Normal file
Before Width: | Height: | Size: 1.5 MiB |
0
app/assets/fonts/roboto/roboto-italic-webfont.eot
Executable file → Normal file
0
app/assets/fonts/roboto/roboto-italic-webfont.svg
Executable file → Normal file
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
0
app/assets/fonts/roboto/roboto-italic-webfont.ttf
Executable file → Normal file
0
app/assets/fonts/roboto/roboto-italic-webfont.woff
Executable file → Normal file
0
app/assets/fonts/roboto/roboto-italic-webfont.woff2
Executable file → Normal file
Before Width: | Height: | Size: 1.5 MiB |