Skip to content

About

all docker services

Topics

Resources

Stars

130 stars

Watchers

5 watching

Forks

Repository files navigation

docker-services

Container images for self-hosted services, most of them based on alpine to stay lightweight. All services are built for a graceful shutdown/restart with S6 overlay or a small init script.

Services

Service Description Image
rclone-mount Mount any rclone remote (Google Drive, S3, crypt, ...) with FUSE and share it with the host and other containers mumiehub/rclone-mount, ghcr.io/mumie-hub/rclone-mount
smb-mount Mount an SMB/CIFS share and share it with the host and other containers mumiehub/smb-mount
sabnzbdvpn SABnzbd running behind an OpenVPN connection mumiehub/sabnzbdvpn
jdownloader Headless JDownloader 2, not published since 2021 mumiehub/jdownloader
filebot FileBot watch folder renaming, not built anymore mumiehub/filebot
teamspeakserver Deprecated, see below mumiehub/teamspeakserver

TeamSpeak

The teamspeakserver image is deprecated and not maintained anymore. Use the official images instead:

Usage

See the README in each service folder for the required docker run options, volumes and environment variables. Mount containers like rclone-mount and smb-mount need --cap-add SYS_ADMIN, --security-opt apparmor=unconfined and a :shared volume so the mount is visible on the host.

For Kubernetes there is an example for rclone-mount with the TrueCharts app-template Helm chart in helm/rclone-mount.

Build and release

The repository lives on GitLab and is mirrored to GitHub.

  • GitLab CI builds the images with Kaniko on a Kubernetes runner when files in a service folder change:
    • dev branch: <service>:dev, <service>:dev-<version> and <service>:dev-<commit> in the GitLab registry
    • master branch: <service>:<version>-r<N>, <service>:<version>-<commit>, <service>:<version>, <service>:<major.minor> and <service>:latest in the GitLab registry, then a manual job copies them to Docker Hub (mumiehub/<service>)
  • GitHub Actions builds rclone-mount for amd64 and arm64 and publishes it to GHCR (ghcr.io/mumie-hub/rclone-mount) with the same tags.
  • Renovate opens merge requests into dev when a new upstream version is released (e.g. rclone), configured in renovate.json.

The version of the upstream software is set in <service>/version (e.g. rclone-mount/version). It is passed to the build as IMAGE_VERSION and used as image tag. The <version>-<commit> tag never changes, the other tags move to the newest build. Services without a version file are tagged <commit> and latest.

The release revision r<N> is counted from the history of master: the merge that set the version in <service>/version is r1, every later merge into master that changes the service folder adds 1. A new upstream version starts again at r1. This needs merge commits (or squash merges) on master, so every merge request counts once, and the full git history in CI.

Changes go to the dev branch first and are merged into master with a merge request.

About

all docker services

Topics

Resources

Stars

130 stars

Watchers

5 watching

Forks

Releases

Packages

Contributors

Languages