|
|
|
# Server na strategicou hru na SKSP2022
|
|
|
|
|
|
|
|
Velké poděkování patří Medvědovi a Jirkovi Setničkovi, jejichž kód vykrádám.
|
|
|
|
|
|
|
|
## Instalace vývojového prostředí
|
|
|
|
|
|
|
|
python3 -m venv venv
|
|
|
|
. venv/bin/activate
|
|
|
|
pip install wheel
|
|
|
|
pip install -c constraints.txt --editable .
|
|
|
|
# vytvořit hra/config.py podle config.py.example
|
|
|
|
|
|
|
|
# Jako admin postgresu
|
|
|
|
psql
|
|
|
|
postgres=# CREATE DATABASE ksp_strathra_devel WITH OWNER=$(UŽVATELSKÉ JMÉNO);
|
|
|
|
|
|
|
|
# Naplníme databázi
|
|
|
|
bin/db_init
|
|
|
|
# Přístup do orgočásti webu
|
|
|
|
bin/create_user --org root <heslo>
|
|
|
|
|
|
|
|
./flask run
|
|
|
|
|
|
|
|
# Po běžných úpravách není potřeba balíček přeinstalovávat
|
|
|
|
|
|
|
|
## Instalace na produkční server
|
|
|
|
|
|
|
|
TODO: Upravit (momentálně pouze vykradeno)
|
|
|
|
|
|
|
|
# Pro systém s jádrem < 5.4 zvýšit net.core.somaxconn (jako root)
|
|
|
|
[ "`cat /proc/sys/net/core/somaxconn`" -lt 4096 ] && echo net.core.somaxconn=4096 >> /etc/sysctl.conf && sysctl -p
|
|
|
|
|
|
|
|
# Založit účet (jako root)
|
|
|
|
useradd -m -s /usr/bin/bash ksp-strathra-web
|
|
|
|
|
|
|
|
# Založit databázi (jako správce PostgreSQL)
|
|
|
|
psql -e -c 'CREATE ROLE ksp_strathra'
|
|
|
|
psql -e -c 'CREATE ROLE "ksp-strathra-web" LOGIN'
|
|
|
|
psql -e -c 'GRANT ksp_strathra TO "ksp-strathra-web"' # a případně dalším uživatelům
|
|
|
|
psql -e -c 'CREATE DATABASE ksp_strathra_pub WITH OWNER=ksp_strathra'
|
|
|
|
|
|
|
|
# Nastavit uživateli SSHčko (jako on)
|
|
|
|
mkdir .ssh
|
|
|
|
vi authorized_keys
|
|
|
|
|
|
|
|
# Pushnout data (jako svůj uživatel v složce s README)
|
|
|
|
bin/deploy
|
|
|
|
|
|
|
|
# Nainstalovat venv
|
|
|
|
python3 -m venv venv
|
|
|
|
. venv/bin/activate
|
|
|
|
pip install wheel
|
|
|
|
pip install -c constraints.txt --editable .
|
|
|
|
|
|
|
|
# Inicializovat databázi (už jako mo-web)
|
|
|
|
bin/db_init
|
|
|
|
|
|
|
|
# Pustit web
|
|
|
|
uwsgi --http 127.0.0.1:8000 --master -p 4 -w hra.web:app
|
|
|
|
|
|
|
|
## Mražení závislostí
|
|
|
|
|
|
|
|
pip freeze | grep -v '^hra=' >constraints.txt
|