CypherSetup

From Traxel Wiki
Jump to navigation Jump to search

SSH Config

Host wiki.deadmandao.com
  HostName wiki.deadmandao.com
  User username
  IdentityFile /path/to/deadman/pem

Host www.iterativechaos.com
  HostName www.iterativechaos.com
  User username
  IdentityFile /path/to/deadman/pem

Host nostr
  HostName 52.11.172.130
  User username
  IdentityFile /path/to/deadman/pem

Host Setup

Data Pipeline

mkdir -p /opt/cypherpunk/cypherpunk_reddit
cd /opt/cypherpunk/cypherpunk_reddit
ln -s /home/bob/projects/cypherpunk/cypherpunk_reddit/html ./
ln -s /home/bob/projects/cypherpunk/cypherpunk_reddit/archive ./
ln -s /home/bob/projects/cypherpunk/cypherpunk_reddit/config ./

Web Server

mkdir -p /opt/cypherpunk/flask/cypunk

Python Venv

Data Pipeline

# cd /opt/cypherpunk/cypherpunk_reddit
python -m venv .venv
. ./.venv/bin/activate
pip install mysql-connector-python
pip install jinja2 flask
pip install secp256k1

Web Server

cd /opt/cypherpunk/flask/cypunk
python -m venv flask-venv
. ./flask-venv/bin/activate
pip install --upgrade pip
pip install flask python-dateutil pyjwt mysql.connector pathlib passlib secp256k1 websockets
cd ~/projects/
git clone wiki.deadmandao.com:/opt/cryptopunk/git/cryptopunk_reddit
cd ~/projects/cypherpunk_reddit/flask/test_cypherpunk/
rsync -avz --exclude=__pycache__ /home/admin/projects/cypherpunk/cypherpunk_reddit/flask/test_cypherpunk/app/ /opt/cypherpunk/flask/cypunk/

MariaDB

apt install mariadb-server mariadb-client
sudo mariadb
create user 'cypunk'@'localhost' identified by 'password';
grant all on cypunk.* to 'cypunk'@'localhost';
flush privileges;
exit;
create database if not exists cypunk;
-- drop table if exists cypunk.user;
create table if not exists cypunk.user (
    id int not null primary key auto_increment,
    username varchar(128) not null unique key,
    salty_hash varchar(256) not null
);
-- drop table if exists cypunk.nostr_user;
create table if not exists cypunk.nostr_user (
    id int not null primary key auto_increment,
    user_id int not null,
    privhex varchar(256) not null unique key,
    pubhex varchar(256) not null unique key
);
insert into cypunk.user ( username, salty_hash )
  values ('test1', 'saltyhash'),
         ('test2', 'anotherhash')
;

Apache Conf

    WSGIDaemonProcess app user=www-data group=www-data threads=5 python-home=/opt/cypherpunk/flask/cypunk/flask-venv
    WSGIScriptAlias / /opt/cypherpunk/flask/cypunk/flask-app.wsgi
    <Directory /opt/cypherpunk/flask/cypunk>
      WSGIProcessGroup app
      WSGIApplicationGroup %{GLOBAL}
      Order deny,allow
      Require all granted
    </Directory>

Old Version

Host Setup

mkdir -p /opt/cypherpunk/cypherpunk_reddit
cd /opt/cypherpunk/cypherpunk_reddit
ln -s /home/bob/projects/cypherpunk/cypherpunk_reddit/html ./
ln -s /home/bob/projects/cypherpunk/cypherpunk_reddit/archive ./
ln -s /home/bob/projects/cypherpunk/cypherpunk_reddit/config ./

Python Venv

python -m venv .venv
./.venv/bin/activate
pip install mysql-connector-python
pip install jinja2 flask
pip install secp256k1

MariaDB

apt install mariadb-server mariadb-client
sudo mariadb
create user 'cypunk'@'localhost' identified by 'password';
grant all on cypunk.* to 'cypunk'@'localhost';
flush privileges;
exit;
create database if not exists cypunk;
-- drop table if exists cypunk.user;
create table if not exists cypunk.user (
    id int not null primary key auto_increment,
    username varchar(128) not null unique key,
    salty_hash varchar(256) not null
);
-- drop table if exists cypunk.nostr_user;
create table if not exists cypunk.nostr_user (
    id int not null primary key auto_increment,
    user_id int not null,
    privhex varchar(256) not null
);
insert into cypunk.user ( username, salty_hash )
  values ('test1', 'saltyhash'),
         ('test2', 'anotherhash')
;