地方在住IT系ニート

bkds

Wallabagのメモ

はじめに

Wallabagとはオープンソースの後で読むを管理するサービスです。
PocketやInstapaperのようなサービスに近いものです。

Wallabagの利用はクラウドサービスがありますが無料ではありません。
そのため、今回はセルフホストで利用できるようにします。

Wallabag

WallabagのGitHubにソースコードとインストール方法が公開されています。
今回は、ホストに直接インストールするのではなくコンテナを利用するためこちらを参考にします。

Dockerが入っていない場合は、Dockerインストールを参照ください。
私は、nerdctl・Containerdを利用しています。

コンテナを起動するために下記のdocker-compose.ymlを作成します。
volumesにあるように、/opt/wallabag/images/opt/wallabag/dataをバインドしているので、予め作成します。

mkdir /opt/wallabag/images
mkdir /opt/wallabag/data
version: '3'
networks:
  wallabag:

services:
  wallabag:
    image: wallabag/wallabag
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
      - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql
      - SYMFONY__ENV__DATABASE_HOST=db
      - SYMFONY__ENV__DATABASE_PORT=3306
      - SYMFONY__ENV__DATABASE_NAME=wallabag
      - SYMFONY__ENV__DATABASE_USER=wallabag
      - SYMFONY__ENV__DATABASE_PASSWORD=wallapass
      - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4
      - SYMFONY__ENV__DATABASE_TABLE_PREFIX="wallabag_"
    # ↓アクセスする際のドメインに変更してください
      - SYMFONY__ENV__DOMAIN_NAME=https://your-wallabag-url-instance.com
    volumes:
      - type: bind
        source: /opt/wallabag/images
        target: /var/www/wallabag/web/assets/images
    ports:
      - "8080:80"
    networks:
      - wallabag
    restart: always
    depends_on:
      - db
      - redis
  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=wallaroot
    volumes:
      - type: bind
        source: /opt/wallabag/data
        target: /var/lib/mysql
    restart: always
    networks:
      - wallabag
  redis:
    image: redis:alpine
    restart: always
    networks:
      - wallabag

wallabagコンテナの起動は下記のとおりです

nerdctl compose up

その後、SYMFONY__ENV__DOMAIN_NAMEに設定したドメインと開放しているポートを指定してアクセスすれば完了です。

にほんブログ村 IT技術ブログ IT技術メモへPVアクセスランキング にほんブログ村