Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: 5.x #315

Open
frank-dspeed opened this issue Oct 27, 2017 · 16 comments
Open

Release: 5.x #315

frank-dspeed opened this issue Oct 27, 2017 · 16 comments
Assignees
Labels
Milestone

Comments

@frank-dspeed
Copy link
Collaborator

frank-dspeed commented Oct 27, 2017

Goals

turn this into a docker app that you can run it makes no sense anymore to integrate the components into a single container. we should only supply a sidecar container that does the config.

Changelog

  • nginx got deprecated (use external image)
  • based on redmine from docker library
  • all configuration options from this and library work
  • Change Quickstart example to start extra nginx
  • give ssl example.

Closes:

TODO

  • supply nginx.conf via mount point -> /etc/nginx/sites-enabled/redmine.conf
  • give instructions for ssl
  • adjust env vars for compat
  • redmine_without_nginx -> branch -> merge master

3.4.3 Features

  • backward compatible env names
  • extends the library redmine image
  • Adds mail configuration via environment variables.
  • Adds some helper scripts to work with dockerized redmine
@frank-dspeed frank-dspeed self-assigned this Oct 27, 2017
@frank-dspeed frank-dspeed added this to the 3.4.3 milestone Oct 27, 2017
@sameersbn
Copy link
Owner

sameersbn commented Oct 28, 2017

nginx got deprecated (use external image)

What do you mean here? Are you removing NGINX from the image entirely? If yes, this will break the image for existing users who depend on the SSL support provided by the image and we should have clear instructions so that existing users can migrate their existing deployments properly.

  • Franks Answer:
    Deprecated means that we will keep it in but will throw warnings and add infos how to use a external nginx with that image to have better handling of individual needs like ssl cors headers and other stuff like serving from a sub directory.

based on redmine from docker library

I see that you intend to move the image to use the official redmine image as a base. I really don't see any advantage of doing so and also see a lot of effort from you to migrate the feature set of this image. There is no clear advantage of taking on this effort and there is no real advantage to the user.

I suggest you hold on to merging these changes and I'm sorry if i've missed any discussions on this matter. If you are really sold on the advantage of this migration, then my suggestion is to fork this image, make releases of the fork with these changes. Once any issues are ironed out and the new image is reasonably stable then I'd be happy to merge in the changes.

  • Franks Answer
    The library image is at present more stable then we are so it will be fine i will test it and will over time also add automatic tests it would help if you would go ahead with integration of travis so that we have automated quality tests

@frank-dspeed
Copy link
Collaborator Author

@sameersbn there will be no diffrence the only diff between this image and the other one is that we have imap scripts and nginx + ssl then we have a lot of issues with nginx and ssl .

So to solve all that issues and keep this compatible we simply split nginx out but don't the settings i will supply a clear migration path.

Pro of this merge is:

  • Reducing Issues.
  • More logical Deployment via kubernetes and other normal Moby Stack tech

Cons

  • No none needed nginx instance

@frank-dspeed
Copy link
Collaborator Author

@sameersbn befor i merge that in i will discusses that with you this issue is still in preparation but i think it will close near all open issues

@Glideh
Copy link

Glideh commented Nov 6, 2017

IMHO it would seem logical to base on the official image.
It would at least simplify the version upgrades I guess.

@Bodge-IT
Copy link

I'm no expert but these changes to structure sound ideal. Any updates on this?

@sameersbn
Copy link
Owner

Sorry about not looking into this.
I would like to get this PR well tested. Will try to spend some time to validate everything works as expected and users can upgrade without any issues.

It would be very helpful if you guys could help test this PR and validate it works for you. Thanks!

@sameersbn
Copy link
Owner

Just noticed that the PR is WIP and there are a couple of TODO tasks in the pipeline.
We could use help there as welll.

@frank-dspeed
Copy link
Collaborator Author

@sameersbn yes we will try our best on that at present that is a lot of work and we could need repo access or your assistance for the setup of automated tests as your the repo owner that is blocking

@frank-dspeed
Copy link
Collaborator Author

Notes for my Self for this week

  • Our Container will expose a Volume with its nginx config blocks
  • Finish Example Default Host domain mappings via docker volume
  • Finish Example 2 Default Host Config will Include the gitlab init block via /etc/nginx/vhost-enabled like path

  • SSL gets Injected via a Own Volume Also via a letsencrypt container that shares volumes
    • offers volume for include in Default Server Config via Domain Mapping
    • offers volume for sharing the certs
    • offers volume for config blocks included by Domain Mapping or a Server Rule

@bor8
Copy link

bor8 commented Jan 9, 2018

Redmine-Version 3.4.4 was released yesterday.

@frank-dspeed frank-dspeed changed the title Release: 3.4.3 Release: 3.4.5 Jan 10, 2018
@goodmorning9527
Copy link

http://www.redmine.org/news/116. Is there any plans to upgrade to 3.3.6 and 3.4.4 ?

@jcormier
Copy link
Collaborator

frank has been working on a rework of the docker image. In the meantime, if someone would be willing to create a pull request updating the installed version of redmine. I'd be willing to test it real quick and merge it in.

@bor8
Copy link

bor8 commented Jan 11, 2018

Sorry, I couldn't wait, I used the official repo and made the following compose file work:

version: "3.1"

services:
  postgresql:
    image: postgres:10.1
    environment:
    - POSTGRES_USER=redmine
    - POSTGRES_PASSWORD=hallo
    - POSTGRES_DB=redmine_production
    restart: always
    volumes:
    - /opt/redmine/dump.sql:/docker-entrypoint-initdb.d/dump.sql
    - /opt/redmine/postgresql/data/:/var/lib/postgresql/data/

  redmine:
    image: redmine:3.4.4
    depends_on:
    - postgresql
    environment:
        REDMINE_DB_POSTGRES: postgresql
        REDMINE_DB_USERNAME: redmine
        REDMINE_DB_PASSWORD: hallo
        REDMINE_DB_DATABASE: redmine_production
    ports:
    - "10083:3000"
    restart: always
    volumes:
    - /opt/redmine/files:/usr/src/redmine/files/
    - /opt/redmine/plugins:/usr/src/redmine/plugins/
    - /opt/redmine/public/themes/circle/:/usr/src/redmine/public/themes/circle/

Please delete the file dump.sql after the first Docker Compose-run.

If you have any advantages with this repo here: please let us know. Thanks.

@jcormier
Copy link
Collaborator

Created updates up through 3.2.9, 3.3.6, and 3.4.4

@Silex
Copy link
Contributor

Silex commented May 8, 2018

I also could not wait and made the switch.

Here is what I think are the interesting part:

  • cron supported through http://deck-chores.readthedocs.io (here used for the redmine reminder plugin).
  • use of docker secrets.
  • SSL/HSTS supported through passenger/nginx and a rails initializer using config.force_ssl = true.
version: "3.1"
services:
  web:
    image: redmine:3.4-passenger
    restart: always
    command: passenger start --ssl --ssl-certificate /run/secrets/ssl-certificate --ssl-certificate-key /run/secrets/ssl-key --ssl-port 3443
    environment:
      REDMINE_DB_MYSQL_FILE: /run/secrets/database-hostname
      REDMINE_DB_DATABASE_FILE: /run/secrets/database-name
      REDMINE_DB_USERNAME_FILE: /run/secrets/database-username
      REDMINE_DB_PASSWORD_FILE: /run/secrets/database-password
      REDMINE_PLUGINS_MIGRATE: 1
    ports:
      - '80:3000'
      - '443:3443'
    depends_on:
      - database
    secrets:
      - source: redmine-configuration
        target: /usr/src/redmine/config/configuration.yml
      - ssl-certificate
      - ssl-key
      - database-hostname
      - database-username
      - database-password
      - database-name
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./data/files:/usr/src/redmine/files
      - ./initializers:/usr/src/redmine/config/initializers/customization
      - ./plugins:/usr/src/redmine/plugins
      - ./themes:/usr/src/redmine/public/themes
    labels:
      deck-chores.reminder-emails.command: 'rake redmine:reminder_plugin:send_notifications  >> log/due_date_reminder.log 2>&1'
      deck-chores.reminder-emails.interval: daily

  database:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/database-password
    secrets:
      - database-password
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./data/mysql:/var/lib/mysql

  officer:
    image: funkyfuture/deck-chores
    restart: always
    environment:
      TIMEZONE: Europe/Zurich
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock

secrets:
  redmine-configuration:
    file: ./data/secrets/redmine/configuration.yml
  ssl-certificate:
    file: ./data/secrets/ssl/redmine.pem
  ssl-key:
    file: ./data/secrets/ssl/redmine.key
  database-hostname:
    file: ./data/secrets/database/hostname
  database-username:
    file: ./data/secrets/database/username
  database-password:
    file: ./data/secrets/database/password
  database-name:
    file: ./data/secrets/database/name

@frank-dspeed frank-dspeed changed the title Release: 3.4.5 Release: 3.5 Dec 25, 2018
@frank-dspeed
Copy link
Collaborator Author

Will use https://docs.docker.com/develop/develop-images/multistage-build/
to archive our goal faster!

@frank-dspeed frank-dspeed modified the milestones: 3.4.3, 3.5.x Dec 25, 2018
@frank-dspeed frank-dspeed changed the title Release: 3.5 Release: 5.x Feb 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants