Photoprism is a great tool for organizing photo collections. This stack offers a simple Docker Compose setup for getting familiar with Photoprism, including a few sample images generated with DALL·E, a precompiled latest image, and easy configuration via environment variables.
This is not a full development stack, but it provides an opportunity to get familiar with Photoprism and can also be run persistently.
This is a simple Docker Compose setup with a few sample images generated using DALL·E. The stack uses a precompiled latest
image of Photoprism and provides an easy way to control it via environment variables.
Caution! Caution! This stack is intended for development use only and is not configured for production. For production use, please refer to the "Easy-Stack-Prod" stack - comming soon.
We strongly recommend changing all passwords in the .env.dist
file. These are purely test data and should not be used even in development mode.
- Create a
.env
file next to.env.dist
:cp .env.dist .env
- Open the
.env
file and update the relevant values. - The
.env
file will be automatically loaded if it exists and will override the corresponding environment variables.
To install and start the application, follow these steps:
- Docker and Docker Compose must be installed on the system.
- Git
- Docker
- Docker Compose
- Make
Clone this Project
git clone git@github.com:Opillion-GmbH-Co-KG/easy-stack-photoprism.git
cd ./easy-stack-photoprism
To start and install this stack:
make start
or
make restart
add your host ip, localhost, to this example: http://0.0.0.0:2342/library/login
The application consists of several Docker containers that provide various services and extend the functionality of the application. The main containers and their functions are described below:
-
Nginx
- Image: opillion/nginx
- Description: Nginx serves as a web server and reverse proxy, directing traffic to the appropriate backend and frontend containers.
- Ports (preconfigured):
- External:
- 0.0.0.0:8098 -> 8082/tcp
- 0.0.0.0:4444 -> 8443/tcp
- External:
- Name: easy-stack-main-prod-nginx-1
-
PHP-FPM
- Image: opillion/php8
- Description: This container executes the PHP scripts and communicates with the Nginx web server.
- Ports (preconfigured):
- Internal:
- 9000/tcp
- Internal:
- Name: easy-stack-main-prod-php-fpm-1
-
MySQL
- Image: opillion/mysql
- Description: MySQL serves as the relational database for the application.
- Ports (preconfigured):
- External:
- 0.0.0.0:33065 -> 3305/tcp
- Internal:
- 3306/tcp
- 33060/tcp
- External:
- Name: easy-stack-main-prod-mysql-1
-
Redis
- Image: opillion/redis
- Description: Redis is used as an in-memory data structure store.
- Ports (preconfigured):
- Internal:
- 6379/tcp
- 9121/tcp
- Internal:
- Name: easy-stack-main-prod-redis-1
-
MariaDB
- Image: opillion/maria
- Description: MariaDB serves as an additional relational database for the application.
- Ports (preconfigured):
- External:
- 0.0.0.0:33067 -> 3306/tcp
- External:
- Name: easy-stack-main-prod-maria-1
-
Photoprism
- Image: opillion/photoprism
- Description: Photoprism is used for photo management and organization.
- Ports (preconfigured):
- External:
- 0.0.0.0:2342 -> 2342/tcp
- External:
- Name: easy-stack-main-prod-photoprism-1
Container | License | License Link |
---|---|---|
MariaDB | GPL v2 | GPL v2 |
Photoprism | GNU Affero General Public License v3.0 | AGPL v3.0 |
Easy-Stack | GPL-3.0 | GPL-3.0 |