This repository holds the code of the Diveobard web application. As described in the main documentation, this piece is responsible for storing, making sense, displaying and exposing the user's logs.
It provides:
- A public API (documentation)
- A web frontend - the master branch is the current live one on www.diveboard.com
- Translations of the frontend are done through OneSkyApp
- a set of jobs a.k.a. workers
It relies on:
- a Mysql database operated by Diveboard. A kickstart seed is available in this repo expurged from user data.
- GCP Storage buckets to keep images & videos
- a Rails stack (see the Dockerfile for full stack details)
Some seed files use git-lfs since they are over Git's 100Mb limit get git-lfs here: https://git-lfs.github.com/ check .gitattributes for the files you'll need to checkout manually
In order to get the database seed required for the dev environment environment to run you will need to run
git lfs pull
In order to setup a working environment, we are providing a Dockerfile to build a test container for the Diveboard application.
To setup the Docker container run from the docker CLI:
docker build -t diveboard .
#OR if you want a clean start
docker build --no-cache -t diveboard .
Initialize the container:
docker run -v ${PWD}:/home/diveboard/diveboard-web/current diveboard /home/diveboard/diveboard-web/current/config/docker/init_env
You can then START the VM & connect to the container in interactive mode with:
docker run -v ${PWD}:/home/diveboard/diveboard-web/current -v ${PWD}/tmp/mysql:/var/lib/mysql -p 80:80/tcp -p 443:443/tcp -p3306:3306/tcp diveboard
This will mount the current directory and allow you to use it as your dev codebase
A few last steps: You need to then point your /etc/hosts to resolve the docker ip with "dev.diveboard.com" You must forward ports 80>80 and 443>443 otherwise some resources won't load