-
Notifications
You must be signed in to change notification settings - Fork 1
Getting started
This guide helps you get started running and interacting with a local development server and tests.
See also Bloom's setup wiki.
- Decide whether to use the Docker containers to manage postgres and redis or have those services installed directly on your machine.
- At the time of editing, this project requires Node 14.
- Make sure you have node installed with
npm -v
- Install node if you don't have it. You may want to use
nvm
if you need access to multiple versions. Here is a super helpful link on installing node withoutsudo
.
- Check if you have yarn installed with
yarn -v
- If you don't have yarn, install with
npm install --global yarn
- On Linux, you can follow these steps.
- If you are hoping to rely on your username with
sudo -u postgres createuser your_username -s
, you'll need to edit yourpg_hba.conf
totrust
local connections to the db. - Otherwise, you can create a user WITH a password (like bloom-dev, password bloom1) and put that in your
.env
:
> sudo -u postgres psql
> CREATE USER lemmy WITH PASSWORD 'myPassword';
- Restart the service afterward:
sudo service postgresql restart
- Verify you have a postgres server running (this should happen automatically in the last step) with
psql postgres
. This should launch you into apsql
shell, which you can exit with\quit
. - Create a database with a name matching your ldap:
$ psql postgress
postgres=# CREATE DATABASE your_ldap_here;
postgres=# \quit
- Install Redis
- Open another terminal and start a redis server with
redis-server
.
-
Install git on your machine.
-
Clone the repository.
Run this in your terminal (and/or refer to this guide):
git clone [email protected]:CityOfDetroit/bloom.git
-
In
backend/core
, copy.env.template
into.env
-
Edit
.env
to look like this:
PORT=3100
NODE_ENV=development
DATABASE_URL=postgres://your_ldap_here:something@localhost:5432/bloom
REDIS_TLS_URL=redis://127.0.0.1:6379/0
REDIS_URL=redis://127.0.0.1:6379/0
REDIS_USE_TLS=0
THROTTLE_TTL=60
THROTTLE_LIMIT=2
EMAIL_API_KEY='SOME-LONG-SECRET-KEY'
EMAIL_FROM_ADDRESS='Bloom Dev Housing Portal <[email protected]>'
APP_SECRET='SOME-LONG-SECRET-KEY'
CLOUDINARY_SECRET=CLOUDINARY_SECRET
CLOUDINARY_KEY=CLOUDINARY_KEY
SECRET='SOME-LONG-SECRET-KEY'
PARTNERS_BASE_URL=http://localhost:3001
NEW_RELIC_APP_NAME=Bloom Backend Local
NEW_RELIC_LICENSE_KEY=
NEW_RELIC_ENABLED=false
NEW_RELIC_LOG_ENABLED=false
GOOGLE_API_ID=
GOOGLE_API_KEY=
GOOGLE_API_EMAIL=
PARTNERS_PORTAL_URL=http://localhost:3001
- Run
yarn install:all
from the main directory, which will runyarn install
at both the top level and inbackend/core
. - To seed the database,
yarn db:reseed
-
psql
may give you permissions issues here. Locally you can give yourself superuser permissions as a workaround.
-
Add this line to your
~/.bashrc
file for authentication to the postgres container as the correct user:export PGUSER=postgres
-
Navigate to the
bloom
directory that you created when you cloned the repo and run the following:docker-compose up redis postgres
-
You should see some output indicating that the containers have successfully started.
-
If you wish to stop running the services, you can Ctl-C to kill the processes.
-
If you wish to run the containers in the background and not need to keep the terminal open, kill the previous containers and run:
docker-compose up -d redis postgres
-