networks: default: driver: bridge ipam: config: - subnet: 172.177.9.0/24 volumes: postgres_data_pg16: user_data: minio_data: redis_data: services: main: privileged: true image: "penpotapp/devenv:latest" build: context: "." container_name: "penpot-devenv-main" stop_signal: SIGINT depends_on: - postgres - redis # - keycloak volumes: - "user_data:/home/penpot/" - "${PWD}:/home/penpot/penpot:z" ports: - 3447:3447 - 3448:3448 - 3449:3449 - 6006:6006 - 6060:6060 - 6061:6061 - 6062:6062 - 6063:6063 - 6064:6064 - 9090:9090 environment: - EXTERNAL_UID=${CURRENT_USER_ID} - PENPOT_SECRET_KEY=super-secret-devenv-key # SMTP setup - PENPOT_SMTP_ENABLED=true - PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com - PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com - PENPOT_SMTP_HOST=mailer - PENPOT_SMTP_PORT=1025 - PENPOT_SMTP_USERNAME= - PENPOT_SMTP_PASSWORD= - PENPOT_SMTP_SSL=false - PENPOT_SMTP_TLS=false # LDAP setup - PENPOT_LDAP_HOST=ldap - PENPOT_LDAP_PORT=10389 - PENPOT_LDAP_SSL=false - PENPOT_LDAP_STARTTLS=false - PENPOT_LDAP_BASE_DN=ou=people,dc=planetexpress,dc=com - PENPOT_LDAP_BIND_DN=cn=admin,dc=planetexpress,dc=com - PENPOT_LDAP_BIND_PASSWORD=GoodNewsEveryone - PENPOT_LDAP_ATTRS_USERNAME=uid - PENPOT_LDAP_ATTRS_EMAIL=mail - PENPOT_LDAP_ATTRS_FULLNAME=cn - PENPOT_LDAP_ATTRS_PHOTO=jpegPhoto minio: image: "minio/minio:RELEASE.2023-11-11T08-14-41Z" command: minio server /mnt/data --console-address ":9001" volumes: - "minio_data:/mnt/data" environment: - MINIO_ROOT_USER=minioadmin - MINIO_ROOT_PASSWORD=minioadmin ports: - 9000:9000 - 9001:9001 postgres: image: postgres:16 command: postgres -c config_file=/etc/postgresql.conf restart: always stop_signal: SIGINT environment: - POSTGRES_INITDB_ARGS=--data-checksums - POSTGRES_DB=penpot - POSTGRES_USER=penpot - POSTGRES_PASSWORD=penpot volumes: - ./files/postgresql.conf:/etc/postgresql.conf:z - ./files/postgresql_init.sql:/docker-entrypoint-initdb.d/init.sql:z - postgres_data_pg16:/var/lib/postgresql/data redis: image: redis:7.2 hostname: "penpot-devenv-redis" container_name: "penpot-devenv-redis" restart: always volumes: - "redis_data:/data" mailer: image: sj26/mailcatcher:latest restart: always expose: - '1025' ports: - "1080:1080" # https://github.com/rroemhild/docker-test-openldap ldap: image: rroemhild/test-openldap:2.1 expose: - '10389' - '10636' ports: - "10389:10389" - "10636:10636" ulimits: nofile: soft: 1024 hard: 1024