Package: realnet
realnetArchitectureComing soonPrerequisitesFor now, before attempting to configure, make sure that you have:a valid postgres database and an account that can manage creation and alteration of tables - you will need url, database name, username and passworda valid AWS SQS url, AWS S3 url and AWS key and secret that allow write access to themReplace each CHANGE_OTHERWISE_NO_SECURITY in your config/.env with a separate cryptographically secure hash - remember to always store this kind of information securelyoptional:
4. A valid ChatGPT API KeyHow to run on linux/windows from sourceThe realnet server needs to be configured and running. How to do that can be found in the readme.md forhttps://github.com/virtual-space/realnet/If you are on Windows, we suggest you use WSL2...Clone out the repogit clone https://github.com/virtual-space/realnet/realnet.gitGo to the repo root foldercd realnetIn the repo root folder create an .env file with the following content:REALNET_SERVER_HOST='0.0.0.0'
REALNET_SERVER_PORT='8080'

#API KEYS
REALNET_CHATGPT_API_KEY='sk-w32yourchatgptkeygoeshere'
REALNET_CHATGPT_API_URL='https://api.openai.com/v1/chat/completions'


# Local
REALNET_DB_USER='yourdbusername'
REALNET_DB_HOST='localhost'
REALNET_DB_PASS='CHANGE_OTHERWISE_NO_SECURITY'
REALNET_DB_PORT='5432'
REALNET_DB_NAME='realnet'
REALNET_URI='http://localhost:8080'
REALNET_REDIRECT_URI='http://localhost:4200/callback'
REALNET_MOBILE_REDIRECT_URI='io.realnet.app:/oauth2redirect'
REALNET_USERNAME='admin'
REALNET_PASSWORD='CHANGE_OTHERWISE_NO_SECURITY'
REALNET_EMAIL='admin@yourcompanydomain'
REALNET_SQS_URL=yourawssqsurl
REALNET_STORAGE_S3_BUCKET=yourrealnets3storagebucketname
REALNET_STORAGE_TYPE='s3'
REALNET_STORAGE_S3_KEY=yourrealnets3storagekey
REALNET_STORAGE_S3_SECRET=yourrealnets3storagesecret
REALNET_STORAGE_S3_REGION=yourrealnets3storageregion
# REALNET_BASE64_ENCODE_DATA='True'
REALNET_NAME='public'
REALNET_DB_TYPE=postgresql
REALNET_APP_SECRET='CHANGE_OTHERWISE_NO_SECURITY'
REALNET_USE_S3_UPLOAD_URL='True'
REALNET_TOKEN='[generated by realnet auth token]'
REALNET_CLIENT_KEY='[Retrieve by running command "realnet server initialize"]'
REALNET_CLIENT_SECRET='[Retrieve by running command "realnet server initialize"]'
REALNET_URL='[get from realnet server serve command or use 'https://realnet.io' for public]'run commandchmod 700 .envrun the following commands:python -m venv venv
. ./venv/bin/activate
python setup.py install
realnet server initializefinally to start realnet and see available commands, run the following command:realnet server startfor further info about the commands, run the following command:realnet -hHow to build a Docker image and run it locallyTODO please validate and correctdocker build -t realnet:latest .
docker run -d -p 8080:8080 realnet:latestHow to install a pip package and run it locallyTODO please validate and correctMake sure that you have the .env file present with the folder with the right values (see other sections).
Your python version should probably be 3.10.11 or laterTo upgrade python on ubuntu follow steps fromhttps://computingforgeeks.com/how-to-install-python-on-ubuntu-linux-system/and then if it is still not working try the followingcurl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.10

sudo apt-get install python3.10-pip python3.10-distutils python3.10-dev python3.10-venv
curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.10Once the pre-requisits are satisfied, you can run realnet in the following way:python3 -m venv venv
. ./venv/bin/activate
pip install realnet
pip install pyopenssl --upgrade
realnet server initialize
realnet server startHow to run on kubernetes via dockerdeployment.yaml:apiVersion: apps/v1
kind: Deployment
metadata:
  name: realnet
spec:
  replicas: 1
  selector:
    matchLabels:
      app: realnet
  template:
    metadata:
      labels:
        app: realnet
    spec:
      containers:
        - name: realnet
          image: 'l33tsys/realnet'
          imagePullPolicy: "Always"
          ports:
            - containerPort: 8080
          envFrom:
            - configMapRef:
                name: realnet-configconfigmap.yamlapiVersion: v1
kind: ConfigMap
metadata:
  name: realnet-config
  labels:
    app: realnet
data:
  REALNET_SERVER_HOST: '0.0.0.0'
  REALNET_SERVER_PORT: '8080'
  # Local
  REALNET_DB_USER: 'postgres'
  REALNET_DB_HOST: 'localhost'
  REALNET_DB_PASS: 'CHANGE_OTHERWISE_NO_SECURITY'
  REALNET_DB_PORT: '5432'
  REALNET_DB_NAME: 'postgres'
  REALNET_URI: 'https://realnet.io'
  REALNET_REDIRECT_URI: 'https://www.realscape.io/callback'
  REALNET_MOBILE_REDIRECT_URI: 'io.realnet.app:/oauth2redirect'
  REALNET_USERNAME: 'admin'
  REALNET_PASSWORD: 'CHANGE_OTHERWISE_NO_SECURITY'
  REALNET_EMAIL: 'admin@yourcompanydomain'
  REALNET_SQS_URL: 'yourawssqsurl'
  REALNET_STORAGE_S3_BUCKET: yourrealnets3storagebucketname
  REALNET_STORAGE_TYPE: 's3'
  REALNET_STORAGE_S3_KEY: yourrealnets3storagekey
  REALNET_STORAGE_S3_SECRET: yourrealnets3storagesecret
  REALNET_STORAGE_S3_REGION: yourrealnets3storageregion
  REALNET_BASE64_ENCODE_DATA: 'True'
  REALNET_NAME: 'public'
  REALNET_DB_TYPE: postgresql
  REALNET_APP_SECRET: 'CHANGE_OTHERWISE_NO_SECURITY'
  REALNET_USE_S3_UPLOAD_URL: 'True'service.yamlapiVersion: v1
kind: Service
metadata:
  name: realnet
  annotations:
    external-dns.alpha.kubernetes.io/hostname: yourcompanydomain
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: yourlbcerturl
  labels:
    app: realnet
spec:
  type: LoadBalancer
  ports:
  - protocol: TCP
    port: 443
    targetPort: 8080
  selector:
   app: realnetinstallation notes (python setup.py | pip install)TODO: Review if below still appliesYou may need to manually install some dependencies. The install command should tell you what is missing.The Cryptography module takes a long time to compile.Below is an incomplete list of installation instructions for dependencies. If you're not doing this on a fresh installation, you should runpython setup.py installorpip install realnetto see what you need first.Inside VENVpip install --upgrade pip
pip install setuptools-rustOutside VENV
postgreSQL (pg_config is missing)sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresqlc/c++ compilers (gcc/g++ is missing)sudo apt update
sudo apt install build-essentialOptional Man pagessudo apt-get install manpages-devTo test the C & C++ compiler installations run these commands:gcc --version
g++ --versionbluetooth dev tools (bluetooth/bluetooth.h is missing)sudo apt-get install libbluetooth-dev