An internet relay chat robot and web-based graphical user interface, dance event, and other things mashed together
|
|
6 år sedan | |
|---|---|---|
| rotbot | 6 år sedan | |
| website | 6 år sedan | |
| .gitignore | 6 år sedan | |
| README.md | 6 år sedan | |
| package.json | 6 år sedan | |
| requirements.txt | 6 år sedan | |
| semantic.json | 6 år sedan | |
| uwsgi_params | 6 år sedan | |
| website_nginx.conf | 6 år sedan | |
| website_uwsgi.ini | 6 år sedan |
Django project, without virtual environment.
Hint, to create a virtualenv in the current dir: virtualenv --python=python3.7 .
This probably requires you to have built python3.7 manually and have debian packages installed: python3-virtualenv python-virtualenv
Then activate the virtenv: source bin/activate
To later deactive: deactivate
Older versions might work, development environ and runtime environment run Python-3.7.4 Currently newer then in the repo's, if that's still the case, you might have to compile and built it yourself.
If you notice you can' t use ssl when using pip, you should have installed libssl-dev before building python, or any of the following packages: libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Install either postgresql-server-dev-X.Y or libpq-dev: sudo apt install...
git clone ssh://h0v1n8.nl/srv/git/h0v1n8-website.gitInstall required pyton packages: pip3 install -r requirements.txt
Fill in the passwords, don't change the database name, it's hardcoded in pyRot, for now.
sudo apt install postrgresqlsudo su - postgresqlpsqlCREATE DATABASE website WITH OWNER = website;CREATE ROLE pyrot WITH LOGIN PASSWORD '';GRANT ALL ON DATABASE website TO pyrot;GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO pyrot;GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO pyrot;rotbot/bot.pyCreate file website/website/local_settings.py and fill in the key and password:
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = ''
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'website',
'USER': 'website',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
cd websitepython manage.py makemigrationspython manage.py migratepython manage.py collectstaticpython manage.py createsuperusersudo ln -s /opt/h0v1n8-website-env/website_uwsgi.ini /etc/uwsgi/vassals/website_uwsgi.inisudo nano /etc/rc.local:
#!/bin/sh
/opt/h0v1n8-env/bin/uwsgi --emperor /etc/uwsgi/vassals/ --daemonize /var/log/uwsgi-emperor.log`
exit 0
Test with: bin/uwsgi --emperor /etc/uwsgi/vassals/
TBD
/etc/rc.local:
STATIC_ROOT in website/website/settings.py.sudo ln -s /opt/h0v1n8-website-env/website_nginx.conf /etc/nginx/sites-enabled/website_nginx.confsudo systemctl reload nginxcd websitepython manage.py runserverThe pythonic version of RotBot, there have been 5 earlier versions including winRot and javaRot.
cd rotbotpython bot.py 1 Where 1 is the ID of the server database record.
Tip: Run it in a "screen".sudo systemctl start rc-git pull
1.On debian: sudo apt install npm