Back to Apps
Shiori

Deploy Shiori on Your Own Server

A simple bookmark manager built with Go.

πŸ“¦ Other

Want to deploy Shiori on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Shiori?

Shiori is a simple bookmarks manager written in the Go language. Intended as a simple clone of Pocket. You can use it as a command line application or as a web application. This application is distributed as a single binary, which means it can be installed and used easily.

Self-Host Shiori

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  shiori:
    image: ghcr.io/go-shiori/shiori:v1.5.5
    environment:
      SHIORI_DBMS: mysql
      SHIORI_MYSQL_ADDRESS: tcp(shiori-mariadb)
      SHIORI_MYSQL_NAME: ${mariadb}-db
      SHIORI_MYSQL_PASS: ${mariadb}-pass
      SHIORI_MYSQL_USER: ${mariadb}-user
    volumes:
      - shiori-data:/shiori
  shiori-mariadb:
    image: mariadb:11.0.2
    environment:
      MYSQL_DATABASE: ${mariadb}-db
      MYSQL_PASSWORD: ${mariadb}-pass
      MYSQL_RANDOM_ROOT_PASSWORD: "1"
      MYSQL_USER: ${mariadb}-user
    volumes:
      - shiori-mariadb-data:/var/lib/mysql
volumes:
  shiori-data: {}
  shiori-mariadb-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:8080

Why Self-Host Shiori?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

ghcr.io/go-shiori/shiori:${shiori_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"