https://github.com/benjaminjonard/mendako
Private, light booru like image board, supports multiple boards.
https://github.com/benjaminjonard/mendako
booru imageboard php postgresql self-hosted symfony
Last synced: 7 months ago
JSON representation
Private, light booru like image board, supports multiple boards.
- Host: GitHub
- URL: https://github.com/benjaminjonard/mendako
- Owner: benjaminjonard
- License: mit
- Created: 2022-09-27T16:36:39.000Z (over 3 years ago)
- Default Branch: 1.3
- Last Pushed: 2025-09-06T07:15:42.000Z (7 months ago)
- Last Synced: 2025-09-06T09:13:59.043Z (7 months ago)
- Topics: booru, imageboard, php, postgresql, self-hosted, symfony
- Language: PHP
- Homepage:
- Size: 11.1 MB
- Stars: 29
- Watchers: 5
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Mendako
Quick project done over the course of a week.
Private, light booru-like image board, supports multiple boards.
Inspired by https://github.com/danbooru/danbooru
## Screenshots
## Installation
#### Step 1 -> Create a `docker-compose.yml` file
```
version: '3.4'
services:
mendako:
container_name: mendako
image: benjaminjonard/mendako
restart: unless-stopped
ports:
- 81:80
env_file:
- .env
depends_on:
- mendako_postgresql
volumes:
- "./volumes/mendako/public/uploads:/uploads"
- "./volumes/mendako/public/thumbnails:/thumbnails" #Not mandatory
mendako_postgresql:
container_name: mendako_postgresql
image: postgres:15
restart: unless-stopped
env_file:
- .env
environment:
- POSTGRES_DB=${DB_NAME}
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- "./volumes/postgresql:/var/lib/postgresql/data"
```
#### Step 2 -> Create a `.env` file
```
########################################################################################################
# WEB
#
# APP_DEBUG=1 displays detailed error message
#
# 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
# APP_THUMBNAILS_FORMAT possible values : jpeg, png, webp, avif. Leave empty if you want to keep the original image format
# APP_POST_PER_PAGE and APP_INFINITE_SCROLL_POST_PER_PAGE are limited to 200
########################################################################################################
APP_DEBUG=0
APP_ENV=prod
#APP_SECRET=
HTTPS_ENABLED=1
UPLOAD_MAX_FILESIZE=20M
PHP_MEMORY_LIMIT=512M
PHP_TZ=Europe/Paris
APP_THUMBNAILS_FORMAT=
APP_POST_PER_PAGE=20
APP_INFINITE_SCROLL_POST_PER_PAGE=50
########################################################################################################
# DATABASE
########################################################################################################
DB_NAME=mendako
DB_HOST=mendako_postgresql
DB_PORT=5432
DB_USER=mendako
DB_PASSWORD=mendako
DB_VERSION=15
```
#### Step 3 -> Review both files and update values if required
#### Step 4 -> Start Mendako
`docker-compose up -d`
### Available environment variables
| Name | Description | Possible values |
|---------------------|---------------------------------------------|-----------------------------------------------------|
| DB_USER | Your database user | |
| DB_PASSWORD | Your database password | |
| DB_HOST | Your database address | |
| DB_PORT | Your database port | |
| DB_NAME | Your database name | |
| DB_VERSION | Your database server version | ex: `10.3` |
| APP_SECRET | Random string used for security | |
| APP_ENV | Symfony environment, `prod` by default | `prod` or `dev` |
| APP_DEBUG | Activate Symfony debug mode, `0` by default | `0` or `1` |
| HTTPS_ENABLED | If your instance uses https | `0` or `1` |
| UPLOAD_MAX_FILESIZE | Defaults to 20M | |
| PHP_MEMORY_LIMIT | Defaults to 512M | |
| PHP_TIMEZONE | You timezone, default to Europe\Paris | https://www.w3schools.com/php/php_ref_timezones.asp |
## Support Mendako
There are a few things you can do to support Mendako :
* If you like Mendako 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 Mendako.
You can contribute and edit translations here: https://crowdin.com/project/mendako.
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.
### Translations status
#### Available

100%
100%
100%
100%
98%
97%
## Licensing
Mendako is an Open Source software, released under the MIT License.