realsuayip / django-sozluk

an exhaustive ekşi sözlük clone, powered by Python
https://sozluk.me
BSD 3-Clause "New" or "Revised" License
320 stars 79 forks source link
django eksisozluk python social-media social-network

## django-sozluk, ekşi sözlük clone powered by Python

License

Demo website is now available at sozluk.me \ Check CHANGELOG before cloning a newer version!

This is a clone of ekşi sözlük. Commonly referred as "collaborative dictionary", this type of social networking can be thought as "urban dictionary on steroids". Visit this Wikipedia article to learn more about this type of social network.

This project is currently maintained. If you want to contribute to the project or have found a bug or need help about deployment etc., create an issue.

Check out screenshots folder to see current front-end in action with both the desktop and mobile views.

Deployment Guide

Requirements

  1. Have Docker, with Compose plugin (v2) installed in your system.
  2. Have GNU make installed in your system.
  3. Have your SSL certificates and dhparam file under docker/prod/nginx/certs. They should be named exactly as following: server.crt, server.key and dhparam.pem
  4. Change and configure secrets in django.env and postgres.env files under conf/prod
  5. Configure your preferences in dictionary/apps.py

Deployment

[!IMPORTANT] When running any make command make sure CONTEXT environment variable is set to production

In the project directory, run this command:

CONTEXT=production make

At this point, your server will start serving requests via https port (443). You should see a 'server error' page when you navigate to your website.

To complete the installation, you need to run a initialization script:

CONTEXT=production make setup

After running this command, you should be able to navigate through your website without any issues. At this point, you should create an administrator account to log in and manage your website:

CONTEXT=production make run createsuperuser