Free, open source, Wakatime-compatible coding time tracker
Find a file
2025-05-07 17:04:04 -04:00
.github Update ci.yml 2025-03-11 15:03:38 -04:00
.kamal Initial commit 2025-02-16 03:21:30 -05:00
app Switch omit_from_leaderboard bool to trust_level enum 2025-05-07 16:51:41 -04:00
bin Initial commit 2025-02-16 03:21:30 -05:00
config Add ipinfo key for geocoding 2025-05-07 17:04:04 -04:00
db Switch omit_from_leaderboard bool to trust_level enum 2025-05-07 16:51:41 -04:00
lib Increase cache timeout for neighborhood data 2025-05-06 11:49:43 -04:00
log Initial commit 2025-02-16 03:21:30 -05:00
public Drop mention of Scrapyard Columbus from error pages 2025-04-28 12:21:02 -04:00
script Initial commit 2025-02-16 03:21:30 -05:00
storage Initial commit 2025-02-16 03:21:30 -05:00
test Add ProjectRepoMappings 2025-03-12 12:15:14 -04:00
tmp Initial commit 2025-02-16 03:21:30 -05:00
vendor Initial commit 2025-02-16 03:21:30 -05:00
.dockerignore Initial commit 2025-02-16 03:21:30 -05:00
.env.example Add ipinfo key for geocoding 2025-05-07 17:04:04 -04:00
.gitattributes Initial commit 2025-02-16 03:21:30 -05:00
.gitignore Add example .env 2025-02-17 14:23:34 -05:00
.rubocop.yml Initial commit 2025-02-16 03:21:30 -05:00
.ruby-version Initial commit 2025-02-16 03:21:30 -05:00
config.ru Initial commit 2025-02-16 03:21:30 -05:00
docker-compose.pgbouncer.yml Add pgbouncer config 2025-04-28 11:01:47 -04:00
docker-compose.yml Fix notification job missing class name 2025-02-22 01:58:46 -05:00
Dockerfile Try moving git to runtime container 2025-04-30 14:06:36 -04:00
Dockerfile.dev Fix notification job missing class name 2025-02-22 01:58:46 -05:00
entrypoint.dev.sh Fix notification job missing class name 2025-02-22 01:58:46 -05:00
Gemfile Add ahoy_captain (#211) 2025-05-07 12:06:56 -04:00
Gemfile.lock Bump avo from 3.19.3 to 3.20.0 (#210) 2025-05-07 12:07:04 -04:00
Rakefile Initial commit 2025-02-16 03:21:30 -05:00
README.md Add a work time status badge to README 2025-05-02 00:08:51 -04:00
slack_manifest_harbor.yml Rename slack bot 2025-03-13 11:25:53 -04:00
slack_manifest_sailors_log.yml Add slack channel name to sailors log prefs 2025-03-11 22:05:10 -04:00

Harbor README

Ping Status Work time

Local development

# Set it up...
$ git clone https://github.com/hackclub/harbor && cd harbor

# Set your config
$ cp .env.example .env

Edit your .env file to include the following:

# Database configurations - these work with the Docker setup
DATABASE_URL=postgres://postgres:secureorpheus123@db:5432/app_development
WAKATIME_DATABASE_URL=postgres://postgres:secureorpheus123@db:5432/app_development
SAILORS_LOG_DATABASE_URL=postgres://postgres:secureorpheus123@db:5432/app_development

# Generate these with `rails secret` or use these for development
SECRET_KEY_BASE=alallalalallalalallalalalladlalllalal
ENCRYPTION_PRIMARY_KEY=32characterrandomstring12345678901
ENCRYPTION_DETERMINISTIC_KEY=32characterrandomstring12345678902
ENCRYPTION_KEY_DERIVATION_SALT=16charssalt1234

Build & Run the project

$ docker compose run --service-ports web /bin/bash

# Now, setup the database using:
app# bin/rails db:create db:schema:load db:seed

# Now you're inside docker & you can do all the fun rails things...
app# bin/rails s -b 0.0.0.0 # this hosts the server on your computer w/ default port 3000
app# bin/rails c # start an interactive irb!
app# bin/rails db:migrate # migrate the database

You can now access the app at http://localhost:3000/

Use email authentication from the homepage with test@example.com (you can view emails at http://localhost:3000/letter_opener)!

Ever need to setup a new database?

# inside the docker container, reset the db
app# $ bin/rails db:drop db:create db:migrate db:seed