Simplifying local development (#32)

* simplified local development

* fixed linting errors

* should fix

* fix indentation
This commit is contained in:
Karthik Sankar
2025-03-20 11:57:08 +08:00
committed by GitHub
parent 051ed583b8
commit f21d6f94db
3 changed files with 79 additions and 14 deletions

View File

@@ -1,4 +1,4 @@
# README
# Harbor README
## Local development
@@ -8,23 +8,44 @@ $ git clone https://github.com/hackclub/harbor && cd harbor
# Set your config
$ cp .env.example .env
# The only thing you need to set is SEED_USER_API_KEY, which should be your key
```
# Build & run the project
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?
```sh
# start a shell inside docker
$ docker compose run web --service-ports /bin/bash
# once inside, reset the db
```
# inside the docker container, reset the db
app# $ bin/rails db:drop db:create db:migrate db:seed
```