Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.git
29 changes: 15 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ MAINTAINER Jonathan DeMarks
# Based on work done by Wellington Marinho (https://github.com/wmarinho/docker-pentaho)
# Note: Really, really requires Postgres 9.5, any higher version will break without an updated driver (in commented section below).

ENV MAJOR_VERSION 7.0
ENV MINOR_VERSION 7.0.0.0-25
ENV MAJOR_VERSION 8.2
ENV MINOR_VERSION 8.2.0.0-342
ENV PENTAHO_HOME /opt/pentaho
ENV PENTAHO_JAVA_HOME $JAVA_HOME
ENV PENTAHO_SERVER ${PENTAHO_HOME}/server/pentaho-server
ENV CATALINA_OPTS="-Djava.awt.headless=true -Xms4096m -Xmx6144m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
ENV CATALINA_OPTS="-Djava.awt.headless=true -Xms1024m -Xmx3072m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

# Get support packages
RUN apk add --update wget unzip bash postgresql-client ttf-dejavu
Expand All @@ -19,7 +19,7 @@ USER pentaho
WORKDIR ${PENTAHO_HOME}/server

# Get Pentaho Server
RUN echo http://downloads.sourceforge.net/project/pentaho/Business%20Intelligence%20Server/${MAJOR_VERSION}/pentaho-server-ce-${MINOR_VERSION}.zip | xargs wget -qO- -O tmp.zip && \
RUN echo https://sourceforge.net/projects/pentaho/files/Pentaho%20${MAJOR_VERSION}/server/pentaho-server-ce-${MINOR_VERSION}.zip | xargs wget -qO- -O tmp.zip && \
unzip -q tmp.zip -d ${PENTAHO_HOME}/server && \
rm -f tmp.zip

Expand All @@ -31,7 +31,7 @@ RUN echo https://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-6
rm -fr sqljdbc_6.0

# Replace outdated Postgresql JDBC driver
RUN rm ${PENTAHO_SERVER}/tomcat/lib/postgresql-9.3-1102-jdbc4.jar && \
RUN rm ${PENTAHO_SERVER}/tomcat/lib/postgresql-*.jar && \
echo https://jdbc.postgresql.org/download/postgresql-9.4.1212.jar | xargs wget -qO- -O ${PENTAHO_SERVER}/tomcat/lib/postgresql-9.4.1212.jar

# Disable first-time startup prompt
Expand All @@ -40,19 +40,20 @@ RUN rm ${PENTAHO_SERVER}/promptuser.sh
# Disable daemon mode for Tomcat
RUN sed -i -e 's/\(exec ".*"\) start/\1 run/' ${PENTAHO_SERVER}/tomcat/bin/startup.sh

COPY pentaho-server ${PENTAHO_SERVER}
# Copy scripts and fix permissions
USER root
COPY scripts ${PENTAHO_HOME}/scripts
COPY config ${PENTAHO_HOME}/config
RUN chown -R pentaho:pentaho ${PENTAHO_HOME}/scripts && chmod -R +x ${PENTAHO_HOME}/scripts
# COPY config ${PENTAHO_HOME}/config
RUN chown -R pentaho:pentaho ${PENTAHO_HOME} && chmod -R +x ${PENTAHO_HOME}/scripts
USER pentaho

# Volumes:
# Administration and user accounts:
# /opt/pentaho/server/pentaho-server/data/hsqldb
# Jackrabbit document repository:
# /opt/pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit/repository
#
# # Volumes:
# # Administration and user accounts:
# # /opt/pentaho/server/pentaho-server/data/hsqldb
# # Jackrabbit document repository:
# # /opt/pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit/repository
VOLUME [ '/opt/pentaho/server/pentaho-server/data/hsqldb', '/opt/pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit/repository' ]

#
EXPOSE 8080
ENTRYPOINT ["sh", "-c", "$PENTAHO_HOME/scripts/run.sh"]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Pentaho 7.0 Docker Image
# Pentaho 8.2 Docker Image (Only HSQLDB Tested)

## What is Pentaho?

Expand Down
50 changes: 50 additions & 0 deletions pentaho-server/data/hsqldb-overlay/hibernate.script
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
SET DATABASE UNIQUE NAME HSQLDB6A9E2709A1
SET DATABASE GC 0
SET DATABASE DEFAULT RESULT MEMORY ROWS 0
SET DATABASE EVENT LOG LEVEL 0
SET DATABASE TRANSACTION CONTROL LOCKS
SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
SET DATABASE TEXT TABLE DEFAULTS ''
SET DATABASE SQL NAMES FALSE
SET DATABASE SQL REFERENCES FALSE
SET DATABASE SQL SIZE TRUE
SET DATABASE SQL TYPES FALSE
SET DATABASE SQL TDC DELETE TRUE
SET DATABASE SQL TDC UPDATE TRUE
SET DATABASE SQL TRANSLATE TTI TYPES TRUE
SET DATABASE SQL CONCAT NULLS TRUE
SET DATABASE SQL UNIQUE NULLS TRUE
SET DATABASE SQL CONVERT TRUNCATE TRUE
SET DATABASE SQL AVG SCALE 0
SET DATABASE SQL DOUBLE NAN TRUE
SET FILES WRITE DELAY 500 MILLIS
SET FILES BACKUP INCREMENT TRUE
SET FILES CACHE SIZE 10000
SET FILES CACHE ROWS 50000
SET FILES SCALE 32
SET FILES LOB SCALE 32
SET FILES DEFRAG 0
SET FILES NIO TRUE
SET FILES NIO SIZE 256
SET FILES LOG TRUE
SET FILES LOG SIZE 50
CREATE USER SA PASSWORD ''
ALTER USER SA SET LOCAL TRUE
CREATE USER HIBUSER PASSWORD 'password'
CREATE USER "hibuser" PASSWORD 'password'
CREATE USER PENTAHO_USER PASSWORD 'password'
CREATE USER "pentaho_user" PASSWORD 'password'
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
GRANT DBA TO SA
GRANT DBA TO HIBUSER
GRANT DBA TO "hibuser"
GRANT DBA TO PENTAHO_USER
GRANT DBA TO "pentaho_user"
66 changes: 66 additions & 0 deletions pentaho-server/data/hsqldb-overlay/quartz.script
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
SET DATABASE UNIQUE NAME HSQLDB6A9DD7A399
SET DATABASE GC 0
SET DATABASE DEFAULT RESULT MEMORY ROWS 0
SET DATABASE EVENT LOG LEVEL 0
SET DATABASE TRANSACTION CONTROL LOCKS
SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
SET DATABASE TEXT TABLE DEFAULTS ''
SET DATABASE SQL NAMES FALSE
SET DATABASE SQL REFERENCES FALSE
SET DATABASE SQL SIZE TRUE
SET DATABASE SQL TYPES FALSE
SET DATABASE SQL TDC DELETE TRUE
SET DATABASE SQL TDC UPDATE TRUE
SET DATABASE SQL TRANSLATE TTI TYPES TRUE
SET DATABASE SQL CONCAT NULLS TRUE
SET DATABASE SQL UNIQUE NULLS TRUE
SET DATABASE SQL CONVERT TRUNCATE TRUE
SET DATABASE SQL AVG SCALE 0
SET DATABASE SQL DOUBLE NAN TRUE
SET FILES WRITE DELAY 500 MILLIS
SET FILES BACKUP INCREMENT TRUE
SET FILES CACHE SIZE 10000
SET FILES CACHE ROWS 50000
SET FILES SCALE 32
SET FILES LOB SCALE 32
SET FILES DEFRAG 0
SET FILES NIO TRUE
SET FILES NIO SIZE 256
SET FILES LOG TRUE
SET FILES LOG SIZE 50
CREATE USER SA PASSWORD ''
ALTER USER SA SET LOCAL TRUE
CREATE USER QUARTZUSER PASSWORD 'password'
CREATE USER "quartzuser" PASSWORD 'password'
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
SET SCHEMA PUBLIC
CREATE MEMORY TABLE PUBLIC.QRTZ5_JOB_DETAILS(JOB_NAME VARCHAR(80) NOT NULL,JOB_GROUP VARCHAR(80) NOT NULL,DESCRIPTION VARCHAR(120),JOB_CLASS_NAME VARCHAR(128) NOT NULL,IS_DURABLE VARCHAR(1) NOT NULL,IS_VOLATILE VARCHAR(1) NOT NULL,IS_STATEFUL VARCHAR(1) NOT NULL,REQUESTS_RECOVERY VARCHAR(1) NOT NULL,JOB_DATA BINARY(1),PRIMARY KEY(JOB_NAME,JOB_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_JOB_LISTENERS(JOB_NAME VARCHAR(80) NOT NULL,JOB_GROUP VARCHAR(80) NOT NULL,JOB_LISTENER VARCHAR(80) NOT NULL,PRIMARY KEY(JOB_NAME,JOB_GROUP,JOB_LISTENER),FOREIGN KEY(JOB_NAME,JOB_GROUP) REFERENCES PUBLIC.QRTZ5_JOB_DETAILS(JOB_NAME,JOB_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL,TRIGGER_GROUP VARCHAR(80) NOT NULL,JOB_NAME VARCHAR(80) NOT NULL,JOB_GROUP VARCHAR(80) NOT NULL,IS_VOLATILE VARCHAR(1) NOT NULL,DESCRIPTION VARCHAR(120),NEXT_FIRE_TIME NUMERIC(13),PREV_FIRE_TIME NUMERIC(13),PRIORITY INTEGER,TRIGGER_STATE VARCHAR(16) NOT NULL,TRIGGER_TYPE VARCHAR(8) NOT NULL,START_TIME NUMERIC(13) NOT NULL,END_TIME NUMERIC(13),CALENDAR_NAME VARCHAR(80),MISFIRE_INSTR NUMERIC(2),JOB_DATA BINARY(1),PRIMARY KEY(TRIGGER_NAME,TRIGGER_GROUP),FOREIGN KEY(JOB_NAME,JOB_GROUP) REFERENCES PUBLIC.QRTZ5_JOB_DETAILS(JOB_NAME,JOB_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_SIMPLE_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL,TRIGGER_GROUP VARCHAR(80) NOT NULL,REPEAT_COUNT NUMERIC(7) NOT NULL,REPEAT_INTERVAL NUMERIC(12) NOT NULL,TIMES_TRIGGERED NUMERIC(7) NOT NULL,PRIMARY KEY(TRIGGER_NAME,TRIGGER_GROUP),FOREIGN KEY(TRIGGER_NAME,TRIGGER_GROUP) REFERENCES PUBLIC.QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_CRON_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL,TRIGGER_GROUP VARCHAR(80) NOT NULL,CRON_EXPRESSION VARCHAR(80) NOT NULL,TIME_ZONE_ID VARCHAR(80),PRIMARY KEY(TRIGGER_NAME,TRIGGER_GROUP),FOREIGN KEY(TRIGGER_NAME,TRIGGER_GROUP) REFERENCES PUBLIC.QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_BLOB_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL,TRIGGER_GROUP VARCHAR(80) NOT NULL,BLOB_DATA BINARY(1),PRIMARY KEY(TRIGGER_NAME,TRIGGER_GROUP),FOREIGN KEY(TRIGGER_NAME,TRIGGER_GROUP) REFERENCES PUBLIC.QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_TRIGGER_LISTENERS(TRIGGER_NAME VARCHAR(80) NOT NULL,TRIGGER_GROUP VARCHAR(80) NOT NULL,TRIGGER_LISTENER VARCHAR(80) NOT NULL,PRIMARY KEY(TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),FOREIGN KEY(TRIGGER_NAME,TRIGGER_GROUP) REFERENCES PUBLIC.QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
CREATE MEMORY TABLE PUBLIC.QRTZ5_CALENDARS(CALENDAR_NAME VARCHAR(80) NOT NULL PRIMARY KEY,CALENDAR BINARY(1) NOT NULL)
CREATE MEMORY TABLE PUBLIC.QRTZ5_PAUSED_TRIGGER_GRPS(TRIGGER_GROUP VARCHAR(80) NOT NULL PRIMARY KEY)
CREATE MEMORY TABLE PUBLIC.QRTZ5_FIRED_TRIGGERS(ENTRY_ID VARCHAR(95) NOT NULL PRIMARY KEY,TRIGGER_NAME VARCHAR(80) NOT NULL,TRIGGER_GROUP VARCHAR(80) NOT NULL,IS_VOLATILE VARCHAR(1) NOT NULL,INSTANCE_NAME VARCHAR(80) NOT NULL,FIRED_TIME NUMERIC(13) NOT NULL,PRIORITY INTEGER NOT NULL,STATE VARCHAR(16) NOT NULL,JOB_NAME VARCHAR(80),JOB_GROUP VARCHAR(80),IS_STATEFUL VARCHAR(1),REQUESTS_RECOVERY VARCHAR(1))
CREATE MEMORY TABLE PUBLIC.QRTZ5_SCHEDULER_STATE(INSTANCE_NAME VARCHAR(80) NOT NULL PRIMARY KEY,LAST_CHECKIN_TIME NUMERIC(13) NOT NULL,CHECKIN_INTERVAL NUMERIC(13) NOT NULL,RECOVERER VARCHAR(80))
CREATE MEMORY TABLE PUBLIC.QRTZ5_LOCKS(LOCK_NAME VARCHAR(40) NOT NULL PRIMARY KEY)
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
GRANT DBA TO SA
GRANT DBA TO QUARTZUSER
GRANT DBA TO "quartzuser"
SET SCHEMA SYSTEM_LOBS
SET SCHEMA PUBLIC
INSERT INTO QRTZ5_LOCKS VALUES('CALENDAR_ACCESS')
INSERT INTO QRTZ5_LOCKS VALUES('JOB_ACCESS')
INSERT INTO QRTZ5_LOCKS VALUES('MISFIRE_ACCESS')
INSERT INTO QRTZ5_LOCKS VALUES('STATE_ACCESS')
INSERT INTO QRTZ5_LOCKS VALUES('TRIGGER_ACCESS')
51 changes: 51 additions & 0 deletions pentaho-server/data/hsqldb-overlay/sampledata.script
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
SET DATABASE UNIQUE NAME HSQLDB6A9D8E5293
SET DATABASE GC 0
SET DATABASE DEFAULT RESULT MEMORY ROWS 0
SET DATABASE EVENT LOG LEVEL 0
SET DATABASE TRANSACTION CONTROL LOCKS
SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED
SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE
SET DATABASE TEXT TABLE DEFAULTS ''
SET DATABASE SQL NAMES FALSE
SET DATABASE SQL REFERENCES FALSE
SET DATABASE SQL SIZE TRUE
SET DATABASE SQL TYPES FALSE
SET DATABASE SQL TDC DELETE TRUE
SET DATABASE SQL TDC UPDATE TRUE
SET DATABASE SQL TRANSLATE TTI TYPES TRUE
SET DATABASE SQL CONCAT NULLS TRUE
SET DATABASE SQL UNIQUE NULLS TRUE
SET DATABASE SQL CONVERT TRUNCATE TRUE
SET DATABASE SQL AVG SCALE 0
SET DATABASE SQL DOUBLE NAN TRUE
SET FILES WRITE DELAY 500 MILLIS
SET FILES BACKUP INCREMENT TRUE
SET FILES CACHE SIZE 10000
SET FILES CACHE ROWS 50000
SET FILES SCALE 32
SET FILES LOB SCALE 32
SET FILES DEFRAG 0
SET FILES NIO TRUE
SET FILES NIO SIZE 256
SET FILES LOG TRUE
SET FILES LOG SIZE 50
CREATE USER SA PASSWORD ''
ALTER USER SA SET LOCAL TRUE
CREATE USER HIBUSER PASSWORD 'password'
CREATE USER "hibuser" PASSWORD 'password'
CREATE USER PENTAHO_USER PASSWORD 'password'
CREATE USER "pentaho_user" PASSWORD 'password'
CREATE SCHEMA PUBLIC AUTHORIZATION DBA
ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1
SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC
GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC
GRANT DBA TO SA
GRANT DBA TO HIBUSER
GRANT DBA TO "hibuser"
GRANT DBA TO PENTAHO_USER
GRANT DBA TO "pentaho_user"
SET SCHEMA SYSTEM_LOBS
Loading