【Ubuntu 24】penpotをインストールする

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Ubuntu 24】penpotをインストールする

2026-1-23 | ,

Ubuntu 24にpenpotをインストールしたい!

概要

今回の記事では、Ubuntu 24にpenpotをインストールする手順を掲載する。

Figma的なものをローカルネットワークの中で運用したいというモチベーション。

仕様書

環境

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:        24.04
Codename:       noble

docker -v
Docker version 29.1.5, build 0e6fee6

penpot:2.12.1

手順書

まず、下記の記事を参考にDockerをインストールする。

penpotのymlを保存するディレクトリを作って中に入る。

mkdir penpot
cd penpot

docker-compose.ymlとファイルを作って下記のような感じにする。

上記のページを参考にさせて頂きました。ありがとうございました。penpotのバージョン以外は同じです。

version: "3.8"

networks:
  penpot:

volumes:
  penpot_postgres_v15:
  penpot_assets:

services:
  penpot-frontend:
    image: "penpotapp/frontend:2.12.1"
    restart: unless-stopped
    ports:
      - "9001:8080"
    volumes:
      - penpot_assets:/opt/data/assets
    depends_on:
      - penpot-backend
      - penpot-exporter
    networks:
      - penpot
    environment:
      PENPOT_FLAGS: "disable-email-verification enable-smtp disable-secure-session-cookies"
      PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 31457280
      PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: 367001600

  penpot-backend:
    image: "penpotapp/backend:2.12.1"
    restart: unless-stopped
    volumes:
      - penpot_assets:/opt/data/assets
    depends_on:
      penpot-postgres:
        condition: service_healthy
      penpot-valkey:
        condition: service_healthy
    networks:
      - penpot
    environment:
      PENPOT_PUBLIC_URI: "http://{ip-address}:{port}"
      PENPOT_DATABASE_URI: "postgresql://penpot-postgres/penpot"
      PENPOT_DATABASE_USERNAME: "penpot"
      PENPOT_DATABASE_PASSWORD: "penpot"
      PENPOT_REDIS_URI: "redis://penpot-valkey/0"
      PENPOT_ASSETS_STORAGE_BACKEND: "assets-fs"
      PENPOT_STORAGE_ASSETS_FS_DIRECTORY: "/opt/data/assets"
      PENPOT_TELEMETRY_ENABLED: "true"
      PENPOT_TELEMETRY_REFERER: "compose"
      PENPOT_SECRET_KEY: "change-this-insecure-key"
      PENPOT_FLAGS: "disable-email-verification"

  penpot-exporter:
    image: "penpotapp/exporter:2.12.1"
    restart: unless-stopped
    depends_on:
      penpot-valkey:
        condition: service_healthy
    networks:
      - penpot
    environment:
      PENPOT_SECRET_KEY: "change-this-insecure-key"
      PENPOT_PUBLIC_URI: "http://penpot-frontend:8080"
      PENPOT_REDIS_URI: "redis://penpot-valkey/0"

  penpot-postgres:
    image: "postgres:15"
    restart: unless-stopped
    stop_signal: SIGINT
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U penpot"]
      interval: 2s
      timeout: 10s
      retries: 5
      start_period: 2s
    volumes:
      - penpot_postgres_v15:/var/lib/postgresql/data
    networks:
      - penpot
    environment:
      - POSTGRES_INITDB_ARGS=--data-checksums
      - POSTGRES_DB=penpot
      - POSTGRES_USER=penpot
      - POSTGRES_PASSWORD=penpot

  penpot-valkey:
    image: "valkey/valkey:8.1"
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]
      interval: 1s
      timeout: 3s
      retries: 5
      start_period: 3s
    networks:
      - penpot
    environment:
      - VALKEY_EXTRA_FLAGS=--maxmemory 128mb --maxmemory-policy volatile-lfu

  penpot-mailcatch:
    image: "sj26/mailcatcher:latest"
    restart: unless-stopped
    expose:
      - "1025"
    ports:
      - "1080:1080"
    networks:
      - penpot

penpot-backendPENPOT_PUBLIC_URIは自分の環境に合わせて変更する。

...
services:
  ...
  penpot-backend
    ...
    environment:
      PENPOT_PUBLIC_URI: "http://{ip-address}:{port}"

例えば192.168.3.64:9001のような感じ。

ymlファイルのある場所でコマンドを実行して起動する。

docker compose up -d

他のPCのブラウザでPENPOT_PUBLIC_URIで設定したアドレスにアクセスするとpenpotが表示される。

まとめ(感想文)

N100のミニPCでも今のところストレスなく使えてる!やったね!

参考文献・引用