README.md (2202B)
1 DiasporaDiaries 2 =============== 3 4 Diaspora Diaries is a platform for writing stories about experiences of 5 living abroad. 6 7 See the project deployed on 8 [https://diasporadiaries.eu](https://diasporadiaries.eu) 9 10 11 Deploying 12 --------- 13 14 ### Dependencies 15 16 ``` 17 python3 python3-flask python3-flask-login python3-bcrypt python3-bjoern 18 ``` 19 20 DiasporaDiaries runs as a standalone HTTP server and is supposed to be 21 proxied with another httpd like nginx to allow TLS. 22 23 Clone the repository with: 24 25 ``` 26 $ git clone https://github.com/parazyd/diasporadiaries --recursive 27 ``` 28 29 ``` 30 usage: diaspora.py [-h] [-l L] [-p P] [-d] 31 32 optional arguments: 33 -h, --help show this help message and exit 34 -l L Address for listening (ex: 127.0.0.1) 35 -p P Port for listening (ex: 8000) 36 -d Debug mode 37 ``` 38 39 An example nginx configuration would look like: 40 41 ``` 42 server { 43 listen 80; 44 listen 443 ssl; 45 server_name diasporadiaries.eu www.diasporadiaries.eu; 46 47 ssl_certificate /etc/ssl/diaspora.pem; 48 ssl_certificate_key /etc/ssl/diaspora.key; 49 50 location / { 51 proxy_pass http://127.0.0.1:8000/; 52 proxy_set_header Host $host; 53 } 54 } 55 56 ``` 57 58 Features 59 -------- 60 61 * sqlite3 database for users and stories 62 * JSON storage for messages and follows 63 64 65 Usage 66 ----- 67 68 Initially, DiasporaDiaries starts with no users. Once you write the 69 first story and add an email, a user will be created for you with 70 administrator capabilities. From then on, all subsequent users will 71 employ normal capabilities. 72 73 If a user writes an email address upon writing a story, an account is 74 created for them as well, and this allows them to log in. Logging in 75 gives access to some of the platform's features, such as a shoutbox, 76 private messaging, and following other users and viewing profiles. 77 78 Anonymous users may still write stories without their email, but they 79 will not be viewable as profiles on the platform, nor will they be able 80 to leave messages or send private messages. 81 82 Administrators have an additional features of a dashboard, where they 83 can make stories visible or hidden, edit the said stories, and manage 84 users. 85 86 87 License 88 ------- 89 90 GNU Affero General Public License v3 91 92 diasporadiaries is Copyright (C) 2019 Ivan Jelincic <parazyd@dyne.org>