web_bonsaiの日記

web開発の学習日記です。誰に見せるためでもないただの日記です。

m1_mac_docker_rails

nginx.conf内でリクエストヘッダーとリファラをチェックして403を返す | Mac + Docker + Rails + Next.js その0048

はじめに Next.jsでフロントエンドを作成して、そのドメインを web-bonsai.tech としています。 RailsでAPIを作成して、そのドメインを api.web-bonsai.tech としています。 APIはweb-bonsai.techからのリクエストだけ受け付けたいので、リクエストヘッダー…

POSTしたときに422エラーでActionController::InvalidAuthenticityTokenになって失敗したので解決したい | Mac + Docker + Rails + Next.js その0048

参考にさせていただいたページ 【Rails】 API開発で『Can't verify CSRF token authenticity』といわれたときの対応 - Qiita 【Rails API】CSRF 対策をあきらめないでちゃんとやる | みどりみちのブログ Rails API + SPAのCSRF対策例 RailsのCSRF保護を詳し…

本番環境のバックエンドのアクセス制限をする | Mac + Docker + Rails + Next.js その0047

参考にさせていただいたページ Module ngx_http_referer_module ngx_http_referer_module モジュール 日本語訳 Nginxのrefererでサーバを振り分ける方法を考えてみた - 株式会社クイックのWebサービス開発blog NginxのWebサーバーでコンテンツへの直リンクを…

frontendサービスを別サーバーに移管する | Mac + Docker + Rails + Next.js その0046

frontendサービス用のサーバーを契約してセットアップする 以前と同じく契約して サーバーのセキュリティ設定 vimのインストール gitのインストール dockerのインストール docker-composeのインストール などのセットアップをします。 さくらVPSを契約する |…

バックエンドとフロントエンドを別々のサーバーで運用したいのでバックエンドをサブドメインで公開する | Mac + Docker + Rails + Next.js その0045

やること web-bonsai.techドメインで公開していたrailsアプリケーションのドメインをapi.web-bonsai.techに切り替えていきます。 Next.jsで作っているfrontendサービスはこれを機に別サーバーに移管して運用します。 docker-compose.ymlを編集する https-por…

さくらのVPSとメールボックスを同ドメインで利用するネームサーバ設定をサブドメインでやる | Mac + Docker + Rails + Next.js その0044

はじめに APIをサブドメインで運用して、フロントエンドと分けたくなったので、 api.web-bonsai.tech のネームサーバ設定をしていきます。 ネームサーバ新規登録 以前やった「さくらのVPSとメールボックスを同ドメインで利用するネームサーバ設定 | Mac + Do…

pre-commit時にhuskyでfrontendのtest,、eslint、robocop、rspecを実行する | Mac + Docker + Rails + Next.js その0043

参考にさせていただいたページ Husky - Git hooks はじめに 今回の手順はfrontendディレクトリではなく、リポジトリのrootディレクトリで行っていきます。 インストール huskyをインストールします。 % yarn add -D husky Enable Git hooks Git hooksを有効…

Dependabotバージョンアップデートを有効化する | Mac + Docker + Rails + Next.js その0042

参考にさせていただいたページ GitHub リポジトリで Dependabot セキュリティ アップデートを構成する - Learn | Microsoft Docs 概要 基本的にマイクロソフトの「GitHub リポジトリで Dependabot セキュリティ アップデートを構成する - Learn | Microsoft …

ChakraUIを導入する | Mac + Docker + Rails + Next.js その0041

参考にさせていただいたページ Getting Started with Nextjs - Chakra UI インストール frontendディレクトリで作業をしていきます。 % cd frontend/ インストールします。 % yarn add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-moti…

Storybookを導入する | Mac + Docker + Rails + Next.js その0040

参考にさせていただいたページ [Next.js] Storybook - TypeScriptベースのNext.jsプロジェクトでStorybookを使ってコンポーネント主導開発をしてみましょう。 インストールする frontendディレクトリで作業をしていきます。 % cd frontend/ インストールしま…

frontendのテストをGitHubActionsで実行できるようにする | Mac + Docker + Rails + Next.js その0039

参考にさせていただいたページ actions/cache公式 github.com その他 GitHub Actions で yarn install を爆速にしたい GitHub Actionsでyarnのキャッシュを利用してCI高速化 - Qiita .github/workflows/frontend_workflow.ymlの作成とその記述内容 % vim .gi…

Jestを導入してコンポーネントのテストをする | Mac + Docker + Rails + Next.js その0038

参考にさせていただいたページ Testing | Next.js Next.js 12でJestの設定がかなり楽になった インストールする frontendディレクトリで作業を行っていきます。 % yarn add -D jest jest-environment-jsdom @testing-library/react @testing-library/jest-do…

フロントエンドの開発環境を整える | Mac + Docker + Rails + Next.js その0037

frontendディレクトリに移動 今回の手順はfrontendディレクトリで行なっていくので、移動します。 % cd frontend/ 絶対パスインポートの設定 絶対パスインポートが使えるように、frontend/tsconfig.jsonのcompilerOptionsに設定を追加します。 "compilerOpti…

Next.jsのpagesとstylesをsrcディレクトリに移動させる | Mac + Docker + Rails + Next.js その0036

参考にさせていただいたページ Advanced Features: `src` Directory | Next.js Next.jsのソースコードをsrcディレクトリに移動させる srcディレクトリを作成します。 % mkdir frontend/src/ srcディレクトリに移動させます。 % mv frontend/pages frontend/s…

本番環境にNext.jsアプリケーションをデプロイする | Mac + Docker + Rails + Next.js その0035

今日の環境 package.jsonの編集 scripts.startを以下の通り編集します。 "start": "next start -p 3001", ログインして移動 いつも通りsshでサーバーにログインします。 docker-compose.ymlのあるディレクトリに移動します。 git pullする 最新のコードを取…

Next.jsのfrontend/pages/index.tsxでAPIから値を取得する | Mac + Docker + Rails + Next.js その0034

参考にさせていただいたページ fetchの第一引数について Next.js + Ruby on Rails(APIモード) on Docker 構築手順 CORSの設定について Next.js + Rails プロジェクトのセットアップ手順 RailsでAPIにCORSを設定する - Qiita Next.js + Ruby on Rails(APIモー…

Next.jsのサービスを追加してブラウザでNext.jsのスタートページを表示する | Mac + Docker + Rails + Next.js その0033

参考にさせていただいたページ Next.js + Rails プロジェクトのセットアップ手順 createする TSでやっていくので、docker-compose.ymlのあるディレクトリで以下のコマンドを実行しました。 % yarn create next-app --ts frontend frontend/Dockerfileの作成…

tasksを取得できるapiエンドポイントを作成する | Mac + Docker + Rails + Next.js その0032

rails g controller rails gします。 $ docker-compose run --rm app rails g controller api/tasks get post put delete routes.rbの編集 各メソッドに対するアクションを設定します。 Rails.application.routes.draw do namespace :api do get 'tasks/', t…

FactoryBotをインストールしてRSpecでテストを書く | Mac + Docker + Rails その0031

概要 基本的には、以下の現場Railsの書籍の「Chapter5-1〜5-8. テストをはじめよう」を参考にしつつ、Webで色々検索しながら進めました。 book.mynavi.jp 概要としては以下のことをやりました。番号が振ってあるものは、現場RailsのChapter番号です。 5-5-1.…

現場RailsのChapter4のログイン以外を一通りやる | Mac + Docker + Rails その0030

概要 以下の書籍のChapter4をやりました。 今の自分の目的からすると、ログイン機能はとりあえず不要なので、tasksテーブルのmigrationなど、タスク管理に関係する箇所だけ実装しました。 book.mynavi.jp

現場RailsのChapter3を一通りやる | Mac + Docker + Rails その0029

概要 ここらでデータベースを使って、CRUDの機能作成をしたいので、以下の書籍のChapter3をやりました。 書籍と違う点としては、mpaというnamespaceでcontrollerをgenerateしています。 book.mynavi.jp 表示確認と動作確認をする 以下のページが閲覧できるよ…

GitHub Actionsでテストを自動化する | Mac + Docker + Rails その0028

参考にさせていただいたページ https://docs.github.com/ja/actions GitHub Actionsの共通したアクションを切り出してシンプルに保つ 今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docke…

簡単なsystem specを書いて実行してみる | Mac + Docker + Rails その0027

参考にさせていただいたページ 2020年のRailsでブラウザテストを「正しく」行う方法(翻訳)|TechRacho by BPS株式会社 今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docker 20.10.16 d…

rubocopをインストールする | Mac + Docker + Rails その0026

参考にさせていただいたページ RuboCopのインストール手順と具体的な使い方 | Enjoy IT Life 今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docker 20.10.16 docker-compose 1.29.2 Gemfi…

rspec-railsをインストールする | Mac + Docker + Rails その0025

参考にさせていただいたページ GitHub - rspec/rspec-rails: RSpec for Rails 5+ 今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docker 20.10.16 docker-compose 1.29.2 実施した手順 Gem…

本番環境でブラウザからアクセスできるようにする | Mac + Docker + Rails その0024

今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docker 20.10.16 docker-compose 1.29.2 ログインして移動する いつも通りログインします。 web_bonsaiディレクトリに移動します。 $ cd gi…

本番環境にgit cloneする | Mac + Docker + Rails その0023

今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docker 20.10.16 docker-compose 1.29.2 サーバーにログインしてsshキーペアを作成 sshでログインします。 sshキーペアを作成します。 $ ss…

Docker Composeをインストールする | Mac + Docker + Rails その0022

参考にさせていただいたページ Compose のインストール — Docker-docs-ja 20.10 ドキュメント 今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 docker 20.10.16 docker-compose 1.29.2 Dock…

さくらのVPSのCentOS9にDocker Engineをインストールする | Mac + Docker + Rails その0021

参考にさせていただいたページ dockerのインストールについて Docker CE の入手(CentOS 向け) — Docker-docs-ja 19.03 ドキュメント 今日の環境 ローカル M1 Mac macOS Monterey docker 20.10.14 docker-compose 2.5.0 リモート さくらのVPS CentOS 9 dock…

さくらのVPSのCentOS9にgitをインストールする | Mac + Docker + Rails その0020

参考にさせていただいたページ Git - Gitのインストール 今日の環境 さくらのVPS CentOS 9 gitコマンドが使えるか確認する コマンドを実行してみます。 $ git --version 使えませんでした。 インストールする まずはsshでサーバーにログインします。 以下の…