/Dockerfile-template

This repository collects all of my containerization works and serves as a template for quickly starting new projects. (Dockerfile templates)

Primary LanguageDockerfileGNU General Public License v3.0GPL-3.0

Dockerfile template

Warning

Please be aware that this repository is fully licensed under the GPLv3.

This repository collects all of my containerization works and serves as a template for quickly starting new projects. These files are extracted from my previous projects, they cannot be used directly. They preserve the unique configurations of the original projects, along with my personal preferences and coding style. Kindly exercise caution when using them.

My works

Repository Description Dockerfile
docker-whisperX A Dockerfile and CI workflow focus on multi-stage building and optimal cache adjustment. It efficiently builds close to 200 Docker images, each with a size of 10G, on a weekly basis using the GitHub free runner. 🔗
docker-stable-diffusion-webui Python ML project containerization and Docker build CI workflow fully on the GitHub free runner. The main goal of designing this image is to keep it small and follow best practices. Successfully controlled the size to around 10GB, saving approximately 1/3 of the capacity compared to other existing solutions. 🔗
docker-MSSQL-Server A MSSQL Server Containerized Backup and Restoration Solution. My team relies on this solution to keep the development databases in sync between dozens of developers. Everyone has their own development database, so we can freely experiment with it without any concerns. 🔗
docker-Oracle-Database Same as the previous one, but it's for Oracle Database.
docker-static-ffmpeg-upx This is the wader/static-ffmpeg compressed with UPX, makes the binary size reduce to about 26%. I created this image mainly for my other projects that uses static-ffmpeg. Also added the compressed dumb-init since I often use it together. 🔗
docker-infinite-image-browsing Python pip package containerization with Nuitka compiled to executable and run in a container without the python runtime. 🔗
docker-streamLink Python pip package containerization. 🔗
docker-yt-dlp Python pip package containerization. 🔗
docker-ytarchive Golang containerization with UPX compressed. 🔗
docker-twitcasting-recorder Python project containerization. 🔗
docker-fc2-live-dl Python project containerization. 🔗
docker-MoE-LLaVA Python project containerization with ML dependencies (CUDA, torch). 🔗
docker-SillyTavern Node.js project containerization + Helm chart. 🔗
YoutubeLiveChatToDiscord C# .NET 8 project with runtime-deps image + self-contained + publish-trimmed. 🔗
backup-dl C# .NET 8 project with runtime-deps image + self-contained + publish-trimmed. 🔗
docker-Nextcloud Docker compose file for Nextcloud.
docker-minecraft Docker compose file for my Minecraft server. Contains a simple solution to deal with the problem of Podman not having GELF log driver.
docker-ReverseProxy Docker compose file for Reverse Proxy with automatic SSL certificate generation. I use it for my personal VPS reverse proxy.
Recorder-moe/azure-uploader Call Azure REST api with shell script in container. 🔗
Recorder-moe/s3-uploader Use MinIO Client (mc) to upload files to S3 compatible storage. 🔗
Recorder-moe/LivestreamRecorderFrontend Angular npm build and Nginx unprivileged image. (Closed source)
Recorder-moe/LivestreamRecorderBackend Azure Functions containerization with python, yt-dlp, ffmpeg installed. 🔗
HoloArchivists/twspace-dl Python project containerization with venv solution. 🔗
bmaltais/kohya_ss Python project containerization with ML dependencies (CUDA, torch, xformers). I helped this amazing open-source project set up the docker build CI. 🔗

Other Awesome Resources

Best practices

Nginx

Python

Podman

Advanced Docker

LICENSE

gplv3

GNU GENERAL PUBLIC LICENSE Version 3

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Caution

A GPLv3 licensed Dockerfile means that you MUST distribute the source code with the same license, if you

  • Re-distribute the image. (You can simply point to this GitHub repository if you doesn't made any code changes.)
  • Distribute a image that uses code from this repository.
  • Or distribute a image based on this image. (FROM ghcr.io/jim60105/Dockerfile-template in your Dockerfile)

"Distribute" means to make the image available for other people to download, usually by pushing it to a public registry. If you are solely using it for your personal purposes, this has no impact on you.

Please consult the LICENSE for more details.