add koillection

This commit is contained in:
L4RM4ND 2024-05-24 15:02:01 +02:00
parent 0bf7654961
commit 6fc20045e4
4 changed files with 118 additions and 0 deletions

View File

@ -255,6 +255,7 @@ A [document management system](https://en.wikipedia.org/wiki/Document_management
- [Paperless NGX](examples/paperless-ngx) - A community-supported supercharged version of paperless: scan, index and archive all your physical documents.
- [Papermerge](examples/papermerge) - Free and open source document management system with OCR designed for scanned documents, digital archives, pdf, tiff, jpeg.
- [DocuSeal](examples/docuseal) - Create, fill, and sign digital documents (alternative to DocuSign).
- [Koillection](examples/koillection) - Koillection is a self-hosted service allowing users to manage any kind of collections.
### Pastebins
@ -411,6 +412,7 @@ A [wiki](https://en.wikipedia.org/wiki/Wiki) is a publication collaboratively ed
- [Domainmod](examples/domainmod) - DomainMOD is an open source application used to manage your domains and other internet assets in a central location.
- [Snipe-IT](examples/snipe-it) - Snipe-IT is a free, open source IT asset management system written in PHP.
- [Koillection](examples/koillection) - Koillection is a self-hosted service allowing users to manage any kind of collections.
### Request Bins

45
examples/koillection/.env Normal file
View File

@ -0,0 +1,45 @@
########################################################################################################
# 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_DEBUG=0
APP_ENV=prod
#APP_SECRET=
HTTPS_ENABLED=1
UPLOAD_MAX_FILESIZE=20M
PHP_MEMORY_LIMIT=512M
PHP_TZ=Europe/Paris
########################################################################################################
# API
#
#
# JWT_PASSPHRASE is a random string used for security, you can use for example openssl rand -base64 21
# JWT_PASSPHRASE is automatically generated when using Docker
########################################################################################################
CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
#JWT_PASSPHRASE=
########################################################################################################
# DATABASE
########################################################################################################
DB_DRIVER=pdo_pgsql
DB_NAME=koillection
DB_HOST=db
DB_PORT=5432
DB_USER=koillection
DB_PASSWORD=change_me!
DB_VERSION=16

View File

@ -0,0 +1,3 @@
# References
- https://github.com/benjaminjonard/koillection

View File

@ -0,0 +1,68 @@
version: '3.3'
services:
db:
image: postgres:16-alpine
container_name: koillection-db
hostname: koillection-db
restart: unless-stopped
expose:
- 5432
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/koillection/database:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${DB_NAME:-koillection}
- POSTGRES_USER=${DB_USER:-koillection}
- POSTGRES_PASSWORD=${DB_PASSWORD:-koillection}
#networks:
# - proxy
koillection:
image: koillection/koillection:latest
container_name: koillection
hostname: koillection
depends_on:
- db
restart: unless-stopped
ports:
- 8888:80/tcp
expose:
- 80
environment:
- APP_DEBUG=${APP_DEBUG:-0}
- APP_ENV=${APP_ENV:-prod}
- HTTPS_ENABLED=${HTTPS_ENABLED:-0}
- UPLOAD_MAX_FILESIZE=${UPLOAD_MAX_FILESIZE:-20M}
- PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
- PHP_TZ=${PHP_TZ:-Europe/Berlin}
- CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
- JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
- JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
- DB_DRIVER=${DB_DRIVER:-pdo_pgsql}
- DB_HOST=${DB_HOST:-db}
- DB_NAME=${DB_NAME:-koillection}
- DB_USER=${DB_USER:-koillection}
- DB_PASSWORD=${DB_PASSWORD:-koillection}
- DB_PORT=${DB_PORT:-5432}
- DB_VERSION=${DB_VERSION:-16}
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/koillection/uploads:/uploads
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.koillection.rule=Host(`collection.example.com`)
# - traefik.http.services.koillection.loadbalancer.server.port=80
# # Optional part for file upload max sizes
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
# # Optional part for traefik middlewares
# - traefik.http.routers.koillection.middlewares=local-ipwhitelist@file,authelia@docker
#networks:
# proxy:
# external: true