Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

leknoppix
Copy link

Hello,

This Pull Request aims to automate the build and publication of Docker images for imapsync using GitHub Actions.

Issues Addressed

  1. There was no CI/CD process to automatically build and publish Docker images.
  2. The Dockerfile could not be built correctly from the project root due to invalid paths in a COPY instruction, which prevented its use in a standard workflow.

Changes Made

  1. Added a GitHub Actions workflow (.github/workflows/docker-image.yml)

    • This workflow triggers on every push to the master and leknoppix-arch64 branches.
    • It builds a multi-platform image for linux/amd64 and linux/arm64.
    • It automatically publishes the image to Docker Hub.
    • The tests (--testslive and --tests) are run for each architecture during the build phase to ensure the image's integrity.
  2. Fixed the Dockerfile (INSTALL.d/Dockerfile)

    • The COPY instruction has been corrected to use proper relative paths, allowing the build to run from the project root.

For Maintainers

For the Docker Hub publication to work, the following secrets will need to be configured in the repository settings (Settings > Secrets and variables > Actions) :

  • DOCKERHUB_USERNAME: The Docker Hub username.
  • DOCKERHUB_TOKEN: A Docker Hub access token with write permissions.

Thank you for considering this contribution.

French Version
Bonjour,

Cette Pull Request a pour but d'automatiser la construction et la publication des images Docker pour imapsync en utilisant GitHub Actions.

Problèmes adressés

  1. Il n'existait aucun processus CI/CD pour construire et publier automatiquement les images Docker.
  2. Le Dockerfile ne pouvait pas être construit correctement depuis la racine du projet à cause de chemins invalides dans une instruction COPY, ce qui empêchait son utilisation dans un workflow standard.

Changements apportés

  1. Ajout d'un workflow GitHub Actions (.github/workflows/docker-image.yml)

    • Ce workflow se déclenche à chaque push sur les branches master et leknoppix-arch64.
    • Il construit une image multi-plateformes pour linux/amd64 et linux/arm64.
    • Il publie automatiquement l'image sur Docker Hub.
    • Les tests (--testslive et --tests) sont exécutés pour chaque architecture durant la phase de build pour garantir l'intégrité de l'image.
  2. Correction du Dockerfile (INSTALL.d/Dockerfile)

    • L'instruction COPY a été corrigée pour utiliser des chemins relatifs corrects, permettant au build de s'exécuter depuis la racine du projet.

Pour les mainteneurs

Pour que la publication sur Docker Hub fonctionne, les secrets suivants devront être configurés dans les paramètres du dépôt (Settings > Secrets and variables > Actions) :

  • DOCKERHUB_USERNAME : Le nom d'utilisateur Docker Hub.
  • DOCKERHUB_TOKEN : Un token d'accès Docker Hub avec les permissions d'écriture.

Merci de considérer cette contribution.


@leknoppix
Copy link
Author

where is your servimapsync file?

@gilleslamiral gilleslamiral self-assigned this Aug 27, 2025
@gilleslamiral
Copy link
Member

Currently, I'm not the guy who update the github repository.
https://hub.docker.com/r/gilleslamiral/imapsync/ is release 2.306
https://github.com/imapsync/imapsync/blob/master/imapsync is release 2.229

Copy link
Member

@gilleslamiral gilleslamiral left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libnet-server-perl is in
https://imapsync.lamiral.info/INSTALL.d/Dockerfile
I won't expose 8080 by default. It's not the main purpose of the image and exposing a port is always dangerous.

@leknoppix
Copy link
Author

I have resolve the problem of web interface

@leknoppix
Copy link
Author

Anybody?

@gilleslamiral
Copy link
Member

Anybody?

For what?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants