75 lines
2.7 KiB
Markdown
75 lines
2.7 KiB
Markdown
# sudoscientist
|
|
|
|
## sudoscientist blog
|
|
|
|
### Setup
|
|
|
|
Install steps are for Debian 9 (stretch)
|
|
|
|
1. Install docker-ce
|
|
```
|
|
# stolen from https://docs.docker.com/install/linux/docker-ce/debian/
|
|
sudo apt-get remove docker docker-engine docker.io containerd runc
|
|
sudo apt-get update
|
|
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
|
# verify the key's fingerprint
|
|
# ----------
|
|
sudo apt-key fingerprint 0EBFCD88
|
|
pub 4096R/0EBFCD88 2017-02-22
|
|
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
|
|
Docker Release (CE deb) <docker@docker.com>
|
|
sub 4096R/F273FCD8 2017-02-22
|
|
# ----------
|
|
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
|
|
sudo apt-get update
|
|
sudo apt-get install docker-ce docker-ce-cli containerd.io
|
|
```
|
|
|
|
2. Install golang 1.11
|
|
```
|
|
# stretch doesn't have the latest golang so we install backports
|
|
sudo add-apt-repository "deb http://deb.debian.org/debian stretch-backports main"
|
|
sudo apt-get update
|
|
sudo apt-get -t stretch-backports install golang
|
|
# set the gopath manually for the rest of the setup
|
|
export GOPATH=${HOME}/go
|
|
```
|
|
|
|
3. Clone repo and configure the settings
|
|
```
|
|
mkdir -p ${GOPATH}/src/git.minhas.io/asara
|
|
cd ${GOPATH}/src/git.minhas.io/asara
|
|
git clone https://git.minhas.io/asara/sudoscientist
|
|
# iterate through the environment files in the settings directory and set them appropriately
|
|
# make sure the extension is .env (db.env, secrets.env, website.env... etc.)
|
|
```
|
|
|
|
4. Configure docker postgres for testing
|
|
```
|
|
# make sure your user is in the docker group
|
|
sudo usermod -aG docker $(whoami)
|
|
# make sure you have some postgres client installed
|
|
sudo apt-get install postgres-client
|
|
docker pull postgres
|
|
docker run --name sudosci-db -e POSTGRES_PASWORD=${DB_ADMIN_PW} -d postgres # please set the db admin pw manually
|
|
# Initalize the postgres DB
|
|
cd ${GOPATH}/src/git.minhas.io/asara/sudoscientist
|
|
for i in settings/*; do source $i; done
|
|
export DB_HOST=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" sudosci-db)
|
|
psql -d postgres -U postgres -h ${DB_HOST} << EOF
|
|
CREATE DATABASE ${DB_NAME};
|
|
CREATE USER ${DB_USER} WITH ENCRYPTED PASSWORD '${DB_PW}';
|
|
GRANT ALL PRIVILEGES ON DATABASE ${DB_NAME} TO ${DB_USER};
|
|
EOF
|
|
```
|
|
|
|
5. Run the application!
|
|
```
|
|
cd ${GOPATH}/src/git.minhas.io/asara/sudoscientist
|
|
for i in settings/*; do source $i; done
|
|
export DB_HOST=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" sudosci-db)
|
|
go get
|
|
go run main.go
|
|
```
|