Add description for native setup on macOS
This commit is contained in:
@ -64,3 +64,97 @@ rails s -p 3000 -b 0.0.0.0
|
||||
### Login to CodeOcean
|
||||
192.168.59.104:3000
|
||||
admin@example.org:admin
|
||||
|
||||
## Native setup (for macOS)
|
||||
|
||||
- Clone this repository:
|
||||
```shell script
|
||||
git clone git@github.com:openHPI/codeocean.git
|
||||
```
|
||||
- Install PostgreSQL, start it and create a generic postgres user:
|
||||
```shell script
|
||||
brew install postgresql
|
||||
brew services start postgresql
|
||||
createuser -s -r postgres
|
||||
```
|
||||
- Install [NVM](https://github.com/creationix/nvm) and node:
|
||||
```shell script
|
||||
brew install nvm
|
||||
mkdir ~/.nvm
|
||||
nvm install --lts
|
||||
```
|
||||
- Add the following lines to your profile. (e.g., `~/.zshrc`):
|
||||
```shell script
|
||||
# NVM
|
||||
export NVM_DIR=~/.nvm
|
||||
source $(brew --prefix nvm)/nvm.sh
|
||||
```
|
||||
- Install yarn:
|
||||
```shell script
|
||||
brew install yarn --ignore-dependencies
|
||||
```
|
||||
- Install docker:
|
||||
```shell script
|
||||
brew install docker
|
||||
open /Applications/Docker.app/
|
||||
```
|
||||
- Install nginx and adopt its config to forward requests to the **RAW** docker UNIX socket (see [this issue](https://github.com/docker/for-mac/issues/1662) for more details):
|
||||
```shell script
|
||||
brew install nginx
|
||||
```
|
||||
Edit `/usr/local/etc/nginx/nginx.conf`:
|
||||
1. Change the default port `8080` to `2376` (around line 36).
|
||||
2. Replace the `location /` with the following and (!) replace `<yourname>` with the output of `whoami`:
|
||||
```editorconfig
|
||||
location / {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-NginX-Proxy true;
|
||||
|
||||
proxy_pass http://unix:/Usrers/<yourname>/Library/Containers/com.docker.docker/Data/docker.raw.sock;
|
||||
proxy_redirect off;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
```
|
||||
Now, start nginx:
|
||||
```shell script
|
||||
brew services start nginx
|
||||
```
|
||||
- Install RVM and bundler:
|
||||
```shell script
|
||||
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
|
||||
curl -sSL https://get.rvm.io | bash -s stable --rails
|
||||
gem install bundler
|
||||
```
|
||||
- Install geckodriver and Firefox for Selenium:
|
||||
```shell script
|
||||
brew install geckodriver
|
||||
brew cask install firefox
|
||||
```
|
||||
- Get a local copy of the config files:
|
||||
```shell script
|
||||
for f in action_mailer.yml database.yml secrets.yml sendmail.yml smtp.yml code_ocean.yml docker.yml.erb mnemosyne.yml
|
||||
do
|
||||
if [ ! -f config/$f ]
|
||||
then
|
||||
cp config/$f.example config/$f
|
||||
fi
|
||||
done
|
||||
```
|
||||
- Install gems and yarn files:
|
||||
```shell script
|
||||
bundle install
|
||||
yarn install
|
||||
```
|
||||
- Setup your database:
|
||||
```shell script
|
||||
rake db:create
|
||||
rake db:schema:load
|
||||
rake db:migrate
|
||||
rake db:seed
|
||||
```
|
||||
|
Reference in New Issue
Block a user