-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6,837 changed files
with
234,643 additions
and
47,740 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,14 @@ | ||
FROM ruby:2.6-stretch AS pgloader | ||
RUN apt-get update -qq && apt-get install -y libsqlite3-dev make curl gawk freetds-dev libzip-dev | ||
COPY docker/mysql-to-postgres/bin/build /tmp/build-pgloader | ||
RUN /tmp/build-pgloader && rm /tmp/build-pgloader | ||
|
||
FROM ruby:2.6-stretch | ||
MAINTAINER [email protected] | ||
|
||
ENV NODE_VERSION "10.15.0" | ||
ENV BUNDLER_VERSION "2.0.2" | ||
ENV BUNDLE_PATH__SYSTEM=false | ||
ENV APP_USER app | ||
ENV APP_PATH /app | ||
ENV APP_DATA_PATH /var/openproject/assets | ||
|
@@ -17,39 +23,28 @@ ENV RAILS_CACHE_STORE memcache | |
ENV OPENPROJECT_INSTALLATION__TYPE docker | ||
ENV NEW_RELIC_AGENT_ENABLED false | ||
ENV ATTACHMENTS_STORAGE_PATH $APP_DATA_PATH/files | ||
ENV BUNDLE_PATH__SYSTEM=false | ||
|
||
ENV PGLOADER_DEPENDENCIES "libsqlite3-dev make curl gawk freetds-dev libzip-dev" | ||
|
||
# Set a default key base, ensure to provide a secure value in production environments! | ||
ENV SECRET_KEY_BASE OVERWRITE_ME | ||
|
||
COPY --from=pgloader /usr/local/bin/pgloader-ccl /usr/local/bin/ | ||
|
||
# install node + npm | ||
RUN curl https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz | tar xzf - -C /usr/local --strip-components=1 | ||
|
||
RUN apt-get update -qq && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y \ | ||
postgresql-client \ | ||
mysql-client \ | ||
poppler-utils \ | ||
unrtf \ | ||
tesseract-ocr \ | ||
catdoc \ | ||
memcached \ | ||
postfix \ | ||
postgresql \ | ||
$PGLOADER_DEPENDENCIES \ | ||
apache2 \ | ||
supervisor && \ | ||
apt-get clean && rm -rf /var/lib/apt/lists/* | ||
|
||
# pgloader | ||
ENV CCL_DEFAULT_DIRECTORY /opt/ccl | ||
COPY docker/mysql-to-postgres/bin/build /tmp/build-pgloader | ||
RUN /tmp/build-pgloader && rm /tmp/build-pgloader | ||
# Add MySQL-to-Postgres migration script to path (used in entrypoint.sh) | ||
COPY docker/mysql-to-postgres/bin/migrate-mysql-to-postgres /usr/local/bin/ | ||
|
||
# Set up pg defaults | ||
RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.6/main/pg_hba.conf | ||
RUN echo "listen_addresses='*'" >> /etc/postgresql/9.6/main/postgresql.conf | ||
|
@@ -70,27 +65,33 @@ COPY modules ./modules | |
# OpenProject::Version is required by module versions in gemspecs | ||
RUN mkdir -p lib/open_project | ||
COPY lib/open_project/version.rb ./lib/open_project/ | ||
RUN bundle install --deployment --path vendor/bundle --with="docker opf_plugins" --without="test development" --jobs=8 --retry=3 | ||
RUN bundle install --deployment --path vendor/bundle --no-cache \ | ||
--with="docker opf_plugins" --without="test development" --jobs=8 --retry=3 && \ | ||
rm -rf vendor/bundle/ruby/*/cache && rm -rf vendor/bundle/ruby/*/gems/*/spec && rm -rf vendor/bundle/ruby/*/gems/*/test | ||
|
||
# Finally, copy over the whole thing | ||
COPY . $APP_PATH | ||
COPY . . | ||
|
||
# Re-use packager database.yml | ||
RUN cp ./packaging/conf/database.yml ./config/database.yml | ||
# Add MySQL-to-Postgres migration script to path (used in entrypoint.sh) | ||
RUN cp ./docker/mysql-to-postgres/bin/migrate-mysql-to-postgres /usr/local/bin/ | ||
# Ensure OpenProject starts with the docker group of gems | ||
RUN sed -i "s|Rails.groups(:opf_plugins)|Rails.groups(:opf_plugins, :docker)|" config/application.rb | ||
|
||
# Ensure we can write in /tmp/op_uploaded_files (cf. #29112) | ||
RUN mkdir -p /tmp/op_uploaded_files/ && chown -R $APP_USER:$APP_USER /tmp/op_uploaded_files/ | ||
|
||
# Re-use packager database.yml | ||
COPY packaging/conf/database.yml ./config/database.yml | ||
|
||
# Run the npm postinstall manually after it was copied | ||
# Then, npm install node modules | ||
# Handle the assets precompilation | ||
RUN bash docker/precompile-assets.sh | ||
|
||
# ports | ||
# Expose ports for apache and postgres | ||
EXPOSE 80 5432 | ||
|
||
# volumes to export | ||
# Expose the postgres data directory and OpenProject data directory as volumes | ||
VOLUME ["$PGDATA", "$APP_DATA_PATH"] | ||
|
||
# Set a custom entrypoint to allow for privilege dropping and one-off commands | ||
ENTRYPOINT ["./docker/entrypoint.sh"] | ||
|
||
# Set default command to launch the all-in-one configuration supervised by supervisord | ||
CMD ["./docker/supervisord"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.