2019-06-30に投稿

AnsibleでVPSをセットアップする【その2】

VPSをAnsibleを使ってセットアップするの後日譚的なものです。

docker/docker-composeのインストール

- name: Add Docker GPG key
    apt_key: url=https://download.docker.com/linux/ubuntu/gpg

apt-get updateでロックがかかってしまう問題

pathで指定したファイルを削除

state "absent"に変える。absent(欠席の意=つまりない状態)
対義語はpresent

- name: remove lock file
   file:
     path: /var/lib/apt/lists/lock
     state: absent

エラー「E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)」

NodeJS/npmのインストール

後でgit pullしてnpm installするのですが、インストールされてないことに気づいたのでここでインストールしてしまいます。

  - name: Install basic list of packages
    apt:
      name: ['apt-transport-https','ca-certificates','curl','gnupg2','software-properties-common','npm','nodejs']
      state: present
      update_cache: yes
  - name: Add Docker APT repository
    apt_repository:
      repo: deb [arch=amd64] https://download.docker.com/linux/{{ansible_distribution|lower}} {{ansible_distribution_release}} stable

  - name: Install Docker packages
    apt:
      name: ['docker-ce','docker-ce-cli','containerd.io']
      state: present

  - name: Install Docker-compose 
    shell: curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  - name:
    command: chmod +x /usr/local/bin/docker-compose

プライベートリポジトリをgit clone

まだメインのスクリプトと統合してない状態です。
githubからpersonal tokenを発行して使います。

- hosts: all
  user: "{{ user_name }}"
  #become: yes
  tasks:
  - name: git pull
    git:
      repo: "https://{{account_name}}:{{ personal_token }}@github.com/{{account_name}}/{{ repo_name }}.git"
      dest: "~/{{ target_dir }}"
      accept_hostkey: yes

課題点

docker-composeがパーミッションエラーで起動できない

ユーザをsudoできる権限を持ったグループに追加しないといけないみたいです。

ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

ツイッターでシェア
みんなに共有、忘れないようにメモ

view_list 【Ansible】VPSをAnsibleを使ってセットアップする
第1回 VPSをAnsibleを使ってセットアップする
第2回 AnsibleでVPSをセットアップする【その2】

ckoshien

個人開発5年目。普段はフロントエンドエンジニア。 ReactJS/NextJS/NodeJS/ReactNative/Java

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント