-
Notifications
You must be signed in to change notification settings - Fork 0
mnagaku/naumanni-exercises
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ナウマンを改象\n", "\n", "WindowsでもMacでもLinuxでも、Dockerをインストールすれば、以下に説明する手順で、主にwebブラウザ経由で、naumanniをビルドしたり、実行したり、改造したりできる。\n", "\n", "# 使い方\n", "\n", "## JupyterLab起動\n", "\n", "dockerコマンドが使えるとこで、\n", "\n", "```\n", "# docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 8888:8888 -e GRANT_SUDO=yes --user root --name minimal-lab mnagaku/minimal-lab start-notebook.sh --NotebookApp.token=''\n", "```\n", "\n", "を実行するとJupyterLabが8888番ポートでアクセスできる状態で起動する。\n", "\n", "## JupyterLab接続\n", "\n", "webブラウザから、起動したJupyterLabにアクセスする。例えば、操作しているPC上に起動した場合は、localhostの8888番ポートにアクセスすればよいので、\n", "\n", "```\n", "http://localhost:8888/lab\n", "```\n", "\n", "でアクセスできる。\n", "\n", "## readme.ipynbのUpload\n", "\n", "webブラウザで、JupyterLabのHome画面が出たら、左上にある「下線に上向き矢印」ボタンから、この文書「readme.ipynb」をアップロードする。アップロードが完了して、Home画面の一覧に「readme.ipynb」が表示されたら、クリックして「readme.ipynb」での操作に移る。\n", "\n", "## JupyterLabコンテナ内からdockerコマンドを使えるようにする\n", "\n", "念のため、コンテナ内のモジュールをupdateしてから、dockerコマンドをインストールする。\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "sudo -i\n", "apt-get update\n", "apt-get upgrade -y\n", "apt-get install -y curl\n", "curl -fsSL https://get.docker.com/builds/Linux/x86_64/docker-17.05.0-ce.tgz | tar -xzC /usr/local/bin --strip=1 docker/docker\n", "docker --version" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## naumanniのビルド環境を整える\n", "\n", "まずはnode.jsから。\n", "node >= v7.5.0 であることを確認する。\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "sudo -i\n", "curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -\n", "apt-get install -y nodejs\n", "nodejs -v" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "次にyarn。\n", "yarn >= 0.23.4 であることを確認する。\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "sudo -i\n", "curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -\n", "echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | tee /etc/apt/sources.list.d/yarn.list\n", "apt-get update\n", "apt-get install -y yarn\n", "yarn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## naumanniのソースをクローンする\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "rm -rf naumanni\n", "git clone --depth 1 https://github.com/naumanni/naumanni.git" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## naumanniをビルドする\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "cd naumanni\n", "yarn\n", "yarn run build" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## naumanniのコンテナをビルドする\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "sudo docker rm -f nora\n", "sudo docker rmi nora/naumanni\n", "cd naumanni\n", "sudo docker build -t nora/naumanni .\n", "sudo docker images" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## naumanniを実行する\n", "\n", "```\n", "http://localhost/\n", "```\n", "\n", "でアクセスできる。\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%%bash\n", "sudo docker run -d -p 80:80 --name nora nora/naumanni" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 改象\n", "\n", "左に表示されている「Files」から、\n", "\n", "naumanni > src > js > utils > html.es6\n", "\n", "と辿って、html.es6をダブルクリックすると、html.es6を編集するタブが開く。\n", "\n", "_expandMastodonStatus()とゆー、サーバから取ってきた呟きを正規化する処理があるので、\n", "\n", "```\n", "function _expandMastodonStatus(content) {\n", " content = 'おっぱい';\n", "```\n", "\n", "と1行足すと、みんなの呟きを強制的に書き換えることができる。\n", "\n", "変更を保存した後、ビルド・コンテナのビルド・実行で、動作を確認できる。\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }
About
ナウマンを改象
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published