Skip to content

verzog/docker_ynh

Repository files navigation

Docker Container for YunoHost

Integration level Install Docker Container with YunoHost

Lire ce readme en français.

This package allows you to install Docker Container quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Overview

Deploy and manage a vetted free-software Docker container on your YunoHost server, accessed via a YunoHost domain with NGINX reverse proxy. You pick an application from a curated allowlist; the package owns the exact image reference, pinned version, license and internal port. Multi-container setups (e.g. app + database) are supported by installing each container as its own instance and attaching them to a shared Docker network.

Shipped version: 1.1~ynh1

What this app supports

Curated free-software images only

You choose one of these vetted, license-recorded, version-pinned images (no arbitrary Docker Hub images):

Choice Image License
vaultwarden vaultwarden/server AGPL-3.0-only
gitea gitea/gitea MIT
freshrss freshrss/freshrss AGPL-3.0-only
uptime-kuma louislam/uptime-kuma MIT
ghost ghost MIT
moodle erseco/alpine-moodle GPL-3.0-or-later
gibbon kerrongordon/gibbon GPL-3.0-or-later
nginx nginx (alpine) BSD-2-Clause
mariadb mariadb GPL-2.0-only
postgres postgres (alpine) PostgreSQL

gibbon uses a community, unofficial image — there is no official GibbonEdu image. It is unmaintained (last updated 2024-01, pinned to v26) and several versions behind upstream. Use with that caveat. moodle requires a database companion (mariadb/postgres) — see DOCKER_IMAGES.md.

The pinned versions are defined in scripts/_common.sh. To propose a new image, open a pull request — it must be free software with a clear license.

Multi-container apps

Multiple containers can communicate over a user-defined Docker network. Install each container as a separate app instance, assign them the same network name in the install form, and reference each other by container name. See DOCKER_IMAGES.md for concrete recipes (e.g. ghost + mariadb).

For apps with deeper YunoHost integration requirements (LDAP/SSO, automatic DB provisioning, native backup hooks), a dedicated _ynh package remains the recommended path — this app trades that integration for flexibility and speed of setup.

Disclaimers / important information

  • Only images on the curated free-software allowlist can be installed. To run an unlisted image, use a custom catalog or yunohost app install <git_url>.
  • Docker must be installed on your server before installing this app (sudo apt install docker.io)
  • Containers run with --security-opt no-new-privileges and the Docker socket is never mounted into them
  • This app does not integrate with YunoHost's SSO/LDAP — each container runs as an independent service
  • This app will not work if YunoHost itself is running inside a Docker container
  • Only data stored in the mounted /data volume is included in YunoHost backups — data stored elsewhere inside the container is lost on upgrade
  • Running the upgrade action re-pulls the pinned image and recreates the container

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that:

sudo yunohost app install https://github.com/verzog/docker_ynh/tree/testing --debug
or
sudo yunohost app upgrade docker_container -u https://github.com/verzog/docker_ynh/tree/testing --debug

More info regarding app packaging: https://yunohost.org/packaging_apps

About

A fresh take on the docker idea

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages