below you find quick guides to the most essential technologies in our tech-stack. please add additional information, if you needed clarification in order to help the others
this is a tool to manage multiple python versions on your machine by compiling python from source and installing it into a special folder in your home folder.
please follow the instructions on
https://github.com/pyenv/pyenv
to install it on your system
if you found a bug, please add here below:
echo 'export PATH=“$PYENV_ROOT/bin:$PATH”' » ~/.bashrc echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval “$(pyenv init -)“\nfi' » ~/.bashrc
sudo apt-get update sudo apt-get install build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
this tool is used to setup isolated virtual environments per project, in order to avoid dependency hell and to create “reproducable” development environments across multiple developers.
it can be easily installed via `pip install pipenv`
Documentation: https://pipenv.pypa.io/en/latest/
we have considered alternatives like poetry, but since we have not run into any practical limitations of pipenv yet, we will not switch to another technology for now. introducing a different tool should be a team decision.
if you found a bug, please add here below:
we use docker to deploy our software
installation guide: https://docs.docker.com/get-started/
it is useful to put your main user into the docker group
e.g. https://www.howtogeek.com/50787/add-a-user-to-a-group-or-second-group-on-linux/
we sometimes use it in conjunction with docker-compose, which can be installed via pip `pip install docker-compose`
documentation: https://docs.docker.com/compose/
with wireguard (here are instructions for linux):
install the appropriate wireguard-tools: https://www.wireguard.com/install/
generate a private and public key: wg genkey | tee /tmp/privatekey | wg pubkey > /tmp/publickey
create a config file (e.g. corpex.conf):
[Interface] Address = 10.8.0.2/32 # wait for response from corpex to get the correct IP PrivateKey = <insert contents of /tmp/privatekey> [Peer] PublicKey = e/Iw+N58HD+BduudCwNCzkBLsMWVYIjTEuL3BtAOJBk= AllowedIPs = 10.8.0.0/24, 10.4.30.0/24 Endpoint = 194.6.195.202:51820 PersistentKeepalive = 25
send contents of /tmp/pubkey to support@corpex.de
to: support@corpex.de cc: dev@picalike.com title: new wireguard client body: Hello, here is my public key: <insert contents of /tmp/publickey> Cheers, <your name>
start the vpn device with: sudo wg-quick up <path-to-corpex.conf>
example output from wg when everything is working:
sudo wg [sudo] password for bjoern: interface: corpex public key: Oesue5HR4d2rA41xGAThcmiVCY+HXao9W/mdaQ7oYVY= private key: (hidden) listening port: 57902
peer: e/Iw+N58HD+BduudCwNCzkBLsMWVYIjTEuL3BtAOJBk= endpoint: 194.6.195.202:51820 allowed ips: 10.8.0.0/24, 10.4.30.0/24 latest handshake: 2 minutes ago transfer: 202.86 MiB received, 19.15 MiB sent persistent keepalive: every 25 seconds