JourniCal はカレンダーアプリとジャーナルアプリを組み合わせたアプリです。
- Node.js をインストールする。
- Go >=1.22 をインストールする。
- Docker をインストールする。
- 設定の下準備
- backend/.env.sample を backend/.env にコピーする。
- frontend/.env.sample を frontend/.env にコピーする。
- 機密ファイル
- credentials.json を探してきて、 backend/credentials.json にコピーする。
- token.json を探し、 backend/token.json にコピーする。または、
go run backend/bin/generate-token-json
で token.json を取得する。 - もしくは、 .env.secret をメンバーに聞いてもらう。
以下、 docker compose を使う場合は docker compose が代わりにやってくれます。
(cd frontend; npm ci)
(cd backend; go mod download)
backend/run-postgresql-at-localhost.sh
(cd backend; go run .)
(cd frontend; npm run dev)
(cd backend; go build .)
(cd frontend; npm run build)
backend/run-postgres-at-localhost.sh
cp -r ./frontend/dist ./backend/static
cd backend; ECHO_SERVES_FRONTEND_TOO=true ./backend
docker compose up --build
で PostgreSQL サーバー・バックエンド・(フロントエンド;TODO!)がすべて起動できます。
本番環境で実行するには、以下のことをしてください。
- backend/credentials.json を用意する
- 環境変数 DSN を設定する
docker build -f Dockerfile.prod -t journical-full .
docker run \
-e DSN \ # inherit DSN from its env
-p ${PORT:-3000}:3000 \ # run at $PORT, default to 3000 if $PORT is not set
journical-full