picinch

Logo

PicInch Gallery makes an image-oriented website, for an individual or a club.

Home

Installation and Setup

Managing Pages

Editing

Customisation

Software Updates

Docker Repository

View the Project on GitHub inchworks/picinch

docker-compose.yml

Copy this example, and save it in /srv/picinch on your server.

services:

  db:
    image: mariadb:11.4
    container_name: picinch_db
    expose:
      - 3306
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "<root-password>"
      MYSQL_DATABASE: picinch
      MYSQL_USER: server
      MYSQL_PASSWORD: "<server-password>"
      MARIADB_AUTO_UPGRADE: 1
      MARIADB_DISABLE_UPGRADE_BACKUP: 1
    volumes:
      - mysql:/var/lib/mysql
    logging:
      driver: "json-file"
      options:
        max-size: "2m"
        max-file: "5"

  geoipupdate:
    container_name: geoipupdate
    image: maxmindinc/geoipupdate
    restart: unless-stopped
    environment:
      GEOIPUPDATE_ACCOUNT_ID: "<MaxMind-account>"
      GEOIPUPDATE_LICENSE_KEY: "<MaxMind-licence>"
      GEOIPUPDATE_EDITION_IDS: GeoLite2-Country
      GEOIPUPDATE_FREQUENCY: 72
    networks:
      - geoipupdate
    volumes:
      - geodb:/usr/share/GeoIP

  gallery:
    image: inchworks/picinch:1.3
    ports:
      - 443:4000
      - 80:8000
    restart: always
    environment:
      db-password: "<server-password>"
      options: "<club|solo|main-comp>"
      domains: "example.com,www.example.com"
      certificate-email: "you@example.com"
      admin-name: "admin@example.com"
      admin-password: "<your-password>"
      geo-block: "<blocked-countries>"
      TZ: "Europe/London"
    volumes:
      - certs:/certs
      - geodb:/geodb:ro
      - ./photos:/photos
      - ./site:/site:ro
      - ./misc:/misc:ro
    logging:
      driver: "json-file"
      options:
        max-size: "5m"
        max-file: "5"
    depends_on:
      - db

networks:
  geoipupdate:

volumes:
  certs:
  geodb:
  mysql:

Choose between installation of a club, solo or competition website mode. Changing the mode after installation is unsupported.

Edit the example to change the following items. (Take care to keep indentation unchanged when editing. Do not use tabs.)

If you intend to change other PicInch configuration settings, you may prefer to omit the environment settings here, and set them in a site/configuration.yml file instead.

Geo-blocking requires an account for free geo-location data from MaxMind. Change these items: