From 157d1199b91b4a0e2b46624289d52d2ef5898bda Mon Sep 17 00:00:00 2001 From: some weird guy <120821766+Mistake35@users.noreply.github.com> Date: Thu, 24 Aug 2023 12:24:25 -0700 Subject: [PATCH] Update README.md Fuck my life --- README.md | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 143 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index be2fc07..af0453b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,146 @@ -# Cedar-Django +# About +Cedar-Django is a fork of Closedverse with custom features added to it. -https://youtu.be/uUiJCG06bdA +### Theme changing +Just like in Indigo, you can change the color of your theme. While this is only visible to each user specifically, a global theme can be set in Settings.py. -Alright, I know I will eventually have to write the documentation, but fuuuuuuck I really don't want to do it. +### Overhauled admin panel +The admin panel has been changed completely. You can now do a lot more things in a much easier way. The intention behind this redesign is to reduce the need to use the normal Django admin panel. -It's a standard Django app, You'll have to somehow set it up either with python3 manage.py runserver, or through nginx or whatever. +### Community creation +You can have your users make communities. Each user by default can make one community. User communities can be changed by the owner of said community. + +### Password resetting within the settings page +**This should've been a thing since day one.** Instead of being forced to reset your password through your email, you can now change it via settings. + +### Invite only features +**You can set `invite_only` to `True` if you want your site to be invite only** If you choose to make your website invite only, users can create invite codes and send them to others as a means of inviting new people to the website. Upon signing up, users are required to input a valid invite code in order to create an account. This can be useful for closed off communities or as a ditch effort to stop raids or whatever. +Moderators and staff will be able to revoke a user's ability to add new users if need be. + +### Announcements appear on the side of the main page. +If you have an announcement community, each post will appear there. + +`welcomemsgs` are visible on the front page when you aren't signed in. + +## Other features include: +- Mods can warn users. +- Better audit logging system. +- Purging is much easier now. +- You can fucking ban people now without the Django panel. +- Each and every ban is an IP ban automatically. +- A page where every user can view collected data tied to their account. + +Can you rewrite this? + +# YOU NEED +- A server (obviously) +- Terminal access (also, obviously) +- Python 3 + +# Install time + +Should probably say that this is a lazy way to do it. You should use a reverse proxy to deploy the server up for prod. + +1. +SSH into your server. + +2. +Time to update +`sudo apt update && sudo apt upgrade` + +3. +You need Pip +`sudo apt install pip` + +4. +Get everything else you need. +`pip3 install Django==3.2.2 urllib3 lxml passlib bcrypt pillow django-markdown-deux django-markdown2 whitenoise django-xff` + +5. +Clone the clone! +`git clone https://github.com/Mistake35/Cedar-Django` + +5.5 (recommended). +You should use FileZilla or some other SFTP client to make things easier in the future. + +6. +Navigate to Cedar-Django +`cd Cedar-Django` + +7. +Edit the settings.py file. +`nano closedverse/settings.py` + +8. +Fill everything out as needed. Be sure to generate a secret key and paste it in too. + +9. +Now it's time for the good stuff! +Let's build the database +`python3 manage.py migrate` + +10. +Do the static files or no CSS or JS. +`python3 manage.py collectstatic` + +11. +Test the server! +Be sure to replace "IP-HERE" with your public IP and make sure it's running on port 80. +`python3 manage.py runserver IP-HERE:80` + +# Troubleshooting time! +Q: "HELP, I'M GETTING A BAD REQUEST (400) ERROR!" +A: Add your public IP to the `ALLOWED_HOSTS` bit in settings.py along with your domain that you'll be using. + +Q: "django.db.utils.OperationalError: no such table: ban_usersban" +A: You forgot to migrate and make the database. + +Q: "Why is the page white, with no color or style at all?" +A: You need to collect the static files as mentioned prior. + +You may have to do some additional troubleshooting, and that's the joy of web-hosting. +Fixing problems yourself is a great way to learn how this shit works. + +# Yet even more steps + +12. +So your server is running, the URL works and everything? Good. +Now it's time to create your account. +`python3 manage.py createsuperuser` +Enter your username, and password. + +13. +Make sure it's working by signing in. + +14. +Alright now it's time to do some fun stuff! We're going to try and make this run at boot with systemd. +`sudo nano /etc/systemd/system/django.service` + +15. +Paste this in! +Now it's time to change this if needed. +``` +[Unit] +Description=Django Application +After=network.target + +[Service] +User=root +WorkingDirectory=/root/Cedar-Django +ExecStart=/usr/bin/python3 manage.py runserver IP-HERE:80 + +[Install] +WantedBy=multi-user.target +``` + +16. +Pop these in! +``` +sudo systemctl daemon-reload +sudo systemctl enable django +sudo systemctl start django +``` +Make sure it works too! +``` +sudo systemctl status django +``` \ No newline at end of file