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)
Database seed data is located here: https://s3.us-east-2.amazonaws.com/static.diveboard.com/seed_data.zip
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