Sign inSign up

pageseeder/pageseeder

By pageseeder

•Updated 12 months ago

Image
0

2.2K

pageseeder/pageseeder repository overview

PageSeeder is designed around the requirements of people creating mission-critical documents. Whether the complexity is in the data, the workflow or the deliverable document formats, PageSeeder is a proven solution that doesn’t require users to choose between quality and progress. Learn more about PageSeeder: https://www.pageseeder.com/pageseeder.html⁠.

For technical information see: https://dev.pageseeder.com⁠
Release notes: https://dev.pageseeder.com/guide/installation/release_notes.html⁠

⁠Overview

This Docker container allows an easy way to start up an instance of PageSeeder.

⁠Quick Start

Start PageSeeder Server:

$ docker run -p 8080:8080 pageseeder/pageseeder 

PageSeeder is now available on http://localhost:8080⁠ for use as long as you set a database for it.

⁠Docker Compose

If you prefer to set up the PageSeeder application along with the database (PageSeeder is compatible with both MySQL and PostgreSQL) you can use either docker-compose-ps-mysql.yml for MySQL or docker-compose-pgsql.yml for PostgreSQL below.

⁠MySQL:

Example docker-compose-ps-mysql:

version: '3'

services:
  mysql:
    image: mysql/mysql-server:5.7
    container_name: psdb
    volumes:
      - mysql-data-vol:/var/lib/mysql
    networks:
      - psnet
    ports:
      - '3306:3306'
    restart: always
    environment:
      - 'MYSQL_ROOT_PASSWORD=password'
      - 'MYSQL_DATABASE=pageseeder'
      - 'MYSQL_USER=pageseeder'
      - 'MYSQL_PASSWORD=pageseederDB123'
    healthcheck:
      test: ["CMD", "mysql" ,"-uroot", "-ppassword"]
      timeout: 20s
      retries: 10

  pageseeder:
    depends_on:
      - mysql
    image: pageseeder/pageseeder
    container_name: ps
    volumes:
      - ps-data-vol-config:/opt/pageseeder/webapp/WEB-INF/config
      - ps-data-vol-state:/opt/pageseeder/webapp/WEB-INF/state
      - ps-data-vol-documents:/opt/pageseeder/documents
    networks:
      - psnet
    restart: always
    links:
      - mysql:psdb
    ports:
      - '8080:8080'
      - '8282:8282'

volumes:
  mysql-data-vol: {}
  ps-data-vol-config: {}
  ps-data-vol-state: {}
  ps-data-vol-documents: {}

networks:
  psnet:
    driver: bridge

Run the following command:

$ docker compose -f docker-compose-ps-mysql.yml up

Available Environment Variables:

  • MYSQL_ROOT_PASSWORD (default: password)

    The MySQL Root Password.

  • MYSQL_DATABASE (default: pageseeder)

    The Database name.

  • MYSQL_USER (default: pageseeder)

    The Database Username.

  • MYSQL_PASSWORD (default: pageseederDB123)

    The Database Password.

Note 1: At PageSeeder Setup, in the database host URL, use the name of the database container e.g. psdb.
Note 2: There is no MySQL JDBC driver in PageSeeder images due to licensing restrictions. To use the MySQL database you need to download the driver on https://dev.mysql.com/downloads/connector/j/⁠ (cap to version 5.1.49).
Once you download the driver you need to copy it to the PageSeeder lib folder and restart PageSeeder as follows:

docker cp mysql-connector-java.x.y.z.jar PAGESEEDER-CONTAINER-ID:/opt/pageseeder/webapp/WEB-INF/lib  
docker restart PAGESEEDER-CONTAINER-ID

PageSeeder is now ready on http://localhost:8080⁠ to be configured according to the variables defined on the docker-compose-ps-mysql file.

⁠PostgreSQL:

Example docker-compose-ps-pgsql:

version: '3'

services:
  pgsql:
    image: postgres:14
    container_name: psdb-pg
    volumes:
      - pgsql-data-vol:/var/lib/postgresql/data
    networks:
      - psnet
    ports:
      - '5432:5432'
    restart: always
    environment:
      - 'POSTGRES_DB=pageseeder'
      - 'POSTGRES_USER=pageseeder'
      - 'POSTGRES_PASSWORD=pageseederDB123'
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h psdb-pg -U pageseeder"]
      interval: 10s
      timeout: 5s
      retries: 5

  pageseeder:
    depends_on:
      - pgsql
    image: pageseeder/pageseeder
    container_name: ps-pg
    volumes:
      - ps-pg-data-vol-config:/opt/pageseeder/webapp/WEB-INF/config
      - ps-pg-data-vol-state:/opt/pageseeder/webapp/WEB-INF/state
      - ps-pg-data-vol-documents:/opt/pageseeder/documents
    networks:
      - psnet
    restart: always
    links:
      - pgsql:psdb-pg
    ports:
      - '8080:8080'
      - '8282:8282'

volumes:
  pgsql-data-vol: {}
  ps-pg-data-vol-config: {}
  ps-pg-data-vol-state: {}
  ps-pg-data-vol-documents: {}

networks:
  psnet:
    driver: bridge

Run the following command:

$ docker compose -f docker-compose-pgsql.yml up

Available Environment Variables:

  • POSTGRES_DB (default: pageseeder)

    The Database name.

  • POSTGRES_USER (default: pageseeder)

    The Database Username.

  • POSTGRES_PASSWORD (default: pageseederDB123)

    The Database Password.

Note: At PageSeeder Setup, in the database host URL, use the name of the database container e.g. psdb-pg.

PageSeeder is now ready on http://localhost:8080⁠ to be configured according to the variables defined on the docker-compose-ps-pgsql file.

Tag summary

Content type

Image

Digest

sha256:9119166bc…

Size

353.4 MB

Last updated

12 months ago

docker pull pageseeder/pageseeder