11# syntax=docker/dockerfile:1.7
22#
33# Example Lupo Dockerfile using canis-base-tools
4+ # Base already provides: passenger/nginx, app_env, ntp, root SSH, guarded shoryuken
45
5- FROM ghcr.io/datacite/canis-base-tools:v1 .2.3
6+ FROM ghcr.io/datacite/canis-base-tools:1 .2.3
67
78LABEL maintainer="support@datacite.org"
89
910ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx/sites-enabled
1011
12+ # Lupo-only packages (not in the shared base)
13+ RUN apt-get update && \
14+ apt-get install -y --no-install-recommends \
15+ default-libmysqlclient-dev imagemagick gettext && \
16+ apt-get clean && rm -rf /var/lib/apt/lists/*
17+
1118# Lupo-specific nginx configuration
1219COPY vendor/docker/webapp.conf.template /etc/nginx/templates/webapp.conf.template
1320COPY vendor/docker/70_nginx_templates.sh /etc/my_init.d/70_nginx_templates.sh
@@ -16,14 +23,7 @@ COPY vendor/docker/70_nginx_templates.sh /etc/my_init.d/70_nginx_templates.sh
1623RUN mkdir -p /etc/service/passenger-metrics
1724COPY vendor/docker/passenger-metrics-run.sh /etc/service/passenger-metrics/run
1825
19- # Standard service and startup scripts
20- COPY vendor/docker/00_app_env.conf /etc/nginx/conf.d/00_app_env.conf
21- COPY vendor/docker/ntp.conf /etc/ntp.conf
22-
23- RUN mkdir -p /etc/service/shoryuken
24- COPY vendor/docker/shoryuken.sh /etc/service/shoryuken/run
25-
26- COPY vendor/docker/10_ssh.sh /etc/my_init.d/10_ssh.sh
26+ # Migrations stay in the app (not in the base)
2727COPY vendor/docker/90_migrate.sh /etc/my_init.d/90_migrate.sh
2828
2929# Application code
@@ -32,7 +32,6 @@ RUN mkdir -p tmp/pids tmp/storage && \
3232 chown -R app:app /home/app/webapp && \
3333 chmod -R 755 /home/app/webapp
3434
35- # Install gems
3635WORKDIR /home/app/webapp
3736RUN mkdir -p vendor/bundle && \
3837 chown -R app:app . && \
0 commit comments