A self-hosted manager for a goshuin — the seals brushed by hand at Japanese temples and shrines — and the goshuincho they are collected in.
services:
goshuin:
image: benjaminjonard/goshuin:latest
container_name: goshuin
restart: unless-stopped
ports:
- "8080:80"
env_file:
- .env
depends_on:
- goshuin_postgresql
volumes:
- "./volumes/goshuin/uploads:/uploads"
goshuin_postgresql:
image: postgres:18
container_name: goshuin_postgresql
restart: unless-stopped
environment:
- POSTGRES_DB=goshuin
- POSTGRES_USER=goshuin
- POSTGRES_PASSWORD=change-me
volumes:
- "./volumes/postgresql:/var/lib/postgresql/data"########################################################################################################
# WEB
#
# APP_DEBUG=1 displays detailed error messages
#
# APP_SECRET is a random string used for security, you can use for example openssl rand -base64 21
# APP_SECRET is automatically generated when using Docker
#
# PHP_TZ, see possible values here https://www.w3schools.com/php/php_ref_timezones.asp
#
# FRANKENPHP_THREADS_NUMBER, must be strictly superior to FRANKENPHP_WORKERS_NUMBER
########################################################################################################
APP_DEBUG=0
APP_ENV=prod
#APP_SECRET=
HTTPS_ENABLED=1
UPLOAD_MAX_FILESIZE=20M
PHP_MEMORY_LIMIT=512M
PHP_TZ=Europe/Paris
PHOTON_HOST_URL=https://photon.komoot.io
FRANKENPHP_WORKERS_NUMBER=1
FRANKENPHP_THREADS_NUMBER=2
########################################################################################################
# DATABASE
########################################################################################################
DB_NAME=goshuin
DB_HOST=goshuin_postgresql
DB_PORT=5432
DB_USER=goshuin
DB_PASSWORD=goshuin
DB_VERSION=18
docker compose up -d
There are a few things you can do to support Goshuin :
- If you like Goshuin please consider leaving a ⭐, it gives additional motivation to continue working on the project
- Report any bug or error you see
- English is not my first language, it would be a huge help if you could report any mistakes in Goshuin.
Goshuin ships in English, French and Japanese.
You can contribute and edit translations on Crowdin. If you wish to contribute to a new language, please open a discussion on GitHub or Crowdin and I'll gladly add it. You are also welcome if you want to proofread existing translations.
Do not edit the files under translations/ by hand: Crowdin owns them, and the next sync overwrites any local change. English is the source language.
![]() 100% | ![]() 100% | ![]() 100% |
Goshuin is an Open Source software, released under the MIT License.






