フルスタックエンジニアへの道

「フルスタックエンジニアになりたい。。。いや、なってやる!」という備忘録

Nuxt3をdocker-composeで構築する

Nuxt3の環境をdocker-composeで構築するためのdocker-compose.ymlの設定を記載しています。

version: '3.9'
services:
  nuxt:
    container_name: nuxt-app  # コンテナ名
    image: node:18-alpine  # Dockerイメージ、軽量なalpineを指定
    ports:
      - 3000:3000  # NuxtへHTTPアクセスする際のPortを開放
    volumes:
      - ./nuxt-app:/nuxt-app  # Nuxtプロジェクトをbind mountする
    # Nuxtを起動する、またyarn installは未実施の場合のみ実施する
    command: >
      sh -c "
        if [ ! -e node_modules ]; then
          yarn install
        fi
        yarn dev"
    working_dir: /nuxt-app
    environment:
      - CHOKIDAR_USEPOLLING=true  # ホットリロードの設定
      - HOST=0.0.0.0  # ホストマシンからアクセスするための設定

Nuxt3のプロジェクト作成

Nuxtのプロジェクトを作成していない場合は、docker-compose.ymlを下記へ修正し、コンテナを使用してプロジェクトを作成できます。
volumesディレクトリ名はプロジェクト名になっています。

version: '3.9'
services:
  nuxt:
    container_name: nuxt-app
    image: node:18-alpine
    ports:
      - 3000:3000
    volumes:
      - ./nuxt-app:/nuxt-app  # プロジェクト名
    # command: >
    #   sh -c "
    #     if [ ! -e node_modules ]; then
    #       yarn install
    #     fi
    #     yarn dev"
    # working_dir: /nuxt-app
    environment:
      - CHOKIDAR_USEPOLLING=true
      - HOST=0.0.0.0
    tty: true  # 追記

上記の設定でコンテナを起動後、docker exec -it nuxt-app ashを実行しコンテナへログインします。
ログイン後、公式の通りにプロジェクトを作成します。
プロジェクト名は、docker-compose.ymlのvolumesに指定したディレクトリ名にします。
プロジェクト作成後に、docker-compose.ymlを元に戻して完了です。

Docker FTPサーバメモ

DockerでFTPサーバを立てる際のメモ

環境

バージョン情報

  • Ubuntu18.04
  • Docker(20.10.10)
  • Docker Compose(1.29.2)

ディレクトリ構成

download.txtはgetで取得できるか確認するために配置。中身は空。
ftp-dir
|-home
| |-download.txt
|-docker-compose.yml

docker-compose.yml

"PUBLICHOST"には、待ち受けるIPアドレスを設定する。
"0.0.0.0"は、127.0.0.1になるみたい。

version: '3'
services:
  ftp-server:
    image: stilliard/pure-ftpd:latest
    container_name: ftp-server
    ports:
      - "21:21"
      - "30000-30009:30000-30009"
    volumes:
      - ./home:/home/ftpusers
    environment:
      - PUBLICHOST=<Listen IP address>
      - FTP_USER_NAME=<User name>
      - FTP_USER_PASS=<User Password>
      - FTP_USER_HOME=/home/ftpusers
    restart: always

Django + venv + Apache【Ubuntu16.04】

今回はPythonのインストールからDjangoのインストール、Apache経由でDjangoにアクセスするまでを行います。

  • 環境
  • 構築前に
  • Pythonのインストール
  • venvのインストールと実行方法の確認
    • venvのインストール
    • 仮想環境の作成
    • venvの起動 / 停止
  • Djangoのインストール
    • venvの起動
    • Djangoのインストール
  • 動作確認&チュートリアル
    • プロジェクトの作成
    • アプリの作成
    • views.pyの編集
    • urls.pyの新規作成&編集
    • Allows hotsの設定
    • サーバの起動&アクセス
  • Apache
  • staticディレクトリの集約
  • パーミッションやグループ(www-data(Apacheのグループ))の変更
  • Apacheの設定
  • Apacheの設定読み込み
  • アクセス

環境

  • Ubuntu16.04
    • ユーザ名 : user
    • 各項目で「user」と記載されているところは、環境に合わせて読み替えてください
  • Python(3.8)
  • Django(3.0.3)
続きを読む

【GitHub】SSHのconfigメモ

まだ公開鍵が登録されていないリポジトリに、公開鍵を追加すると「Key is already in use」と表示され、もしやと思ったら、、、

同じ公開鍵を複数のリポジトリで使えない?

同じ公開鍵を複数のリポジトリで使えないみたいなので、SSHのconfigに設定しておきます。

Host github-リポジトリ名  # ここは任意の名前、今回は「github-リポジトリ名」にした
    HostName github.com
    User git
    IdentityFile 秘密鍵のパス  # 秘密鍵のパスを記載

以上!

Bandit Level 2 → Level 3【Over The Wire】

Linuxのコマンド練習になってCTF的な要素もある、「OverTheWire: Bandit」をやっていきます。
今回は「Bandit Level 3」を行います。

overthewire.org

環境

続きを読む