Docker Release ๐
Docker Release is a repository that provides Docker images for various services, It publishes images to Docker Hub, GitHub Container Registry, and AliCloud Container Registry. The images are built with the latest source code and are available for multiple architectures.
Images
All images are provided with the latest
and nightly
tags (if available). For other versions, please refer to the Docker Hub or GHCR Container Registry pages.
The following images are available:
- Nginx:
funnyzak/nginx:latest
(Docker Hub) - openjdk:
funnyzak/openjdk:latest
(Docker Hub) - git-sync:
funnyzak/git-sync:latest
(Docker Hub) - Snell-Server:
funnyzak/snell-server:latest
(Docker Hub) - One-API:
funnyzak/one-api:latest
(Docker Hub) - NeZha-Dashboard:
funnyzak/nezha-dashboard:latest
(Docker Hub) - vCards:
funnyzak/vcards:latest
(Docker Hub) - Canal-Adaptor:
funnyzak/canal-adapter:latest
(Docker Hub) - Canal-Deployer:
funnyzak/canal-deployer:latest
(Docker Hub) - Canal-Admin:
funnyzak/canal-admin:latest
(Docker Hub) - y-webrtc-signaling Server:
funnyzak/y-webrtc-signaling:latest
(Docker Hub) - Abracadabra Demo:
funnyzak/abracadabra-web:latest
(Docker Hub) - LibreOffice-Server:
funnyzak/libreoffice-server:latest
(Docker Hub) - Request-Hub:
funnyzak/request-hub:latest
(Docker Hub) - Cron:
funnyzak/cron:latest
(Docker Hub) - MySQL Dump:
funnyzak/mysql-dump:latest
(Docker Hub) - Dify2OpenAI:
funnyzak/dify2openai:latest
(Docker Hub) - Certimate:
funnyzak/certimate:latest
(Docker Hub) - Watermark
funnyzak/watermark:latest
(Docker Hub) - Hello:
funnyzak/hello:latest
(Docker Hub)
Docker Pull
You can pull the above images from Docker Hub, GitHub Container Registry, or Aliyun Container Registry. For example:
- Docker Hub:
docker pull funnyzak/nginx:latest
- GitHub Container Registry:
docker pull ghcr.io/funnyzak/nginx:latest
- Aliyun Container Registry:
docker pull registry.cn-beijing.aliyuncs.com/funnyzak/nginx:latest
Docker Status
| Image | Tag | Size | Pulls | |โ|โ|โ|โ| | Nginx | | | | | openjdk | | | | | Snell-Server | | | | | git-sync | | | | | One-API | | | | | vCards | | | | | NeZha-Dashboard | | | | | Canal-Adapter | | | | | Canal-Deployer | | | | | Canal-Admin | | | | | y-webrtc-signaling | | | | | Abracadabra Demo | | | | | LibreOffice-Server | | | | | Request-Hub | | | | | Cron | | | | | MySQL Dump | | | | | Dify2OpenAI | | | | | Certimate | | | | | Watermark | | | | | Hello | | | |
Services
Nginx
A nginx docker image with secure configurations and some useful modules, such as ngx_http_geoip_module
, ngx_http_image_filter_module
, ngx_http_perl_module
, ngx_http_xslt_filter_module
, ngx_mail_module
, ngx_stream_geoip_module
, ngx_stream_module
, ngx-fancyindex
, headers-more-nginx-module
, etc.
Build with the linux/arm64
, linux/386
, linux/amd64
, linux/arm/v6
, linux/arm/v7
, linux/arm64/v8
architectures.
Deployment
**Docker Deployment**: ```bash docker run -d -t -i --name nginx --restart on-failure \ -v /path/to/conf.d:/etc/nginx/conf.d \ -p 1688:80 \ funnyzak/nginx ``` **Docker Compose Deployment**: ```yaml version: "3.3" services: nginx: image: funnyzak/nginx container_name: nginx environment: - TZ=Asia/Shanghai volumes: - ./nginx/conf.d:/etc/nginx/conf.d restart: on-failure ports: - 1688:80 ```For more information, please check Nginx.
Snell-Server
Snell Server is a lean encrypted proxy protocol. It is designed to be simple, lightweight.
This image is build from the latest source code of Snell Server. It supports linux/amd64
, linux/arm64
, linux/arm/v7
, linux/386
architecture.
Notice: Need to use with Surge iOS or Surge Mac, both of them support Snell protocol. The latest surge-server version is v4, which is not compatible with the previous versions like before. Please upgrade both the client (Surge iOS & Surge Mac) and the server binary.
Deployment
**Docker Deployment**: ```bash docker run -d --name snell-server --restart always -p 12303:6180 -e PSK="5G0H4qdf32mEZx32t" funnyzak/snell-server ``` **Docker Compose Deployment**: ```yaml version: '3' services: snell: image: funnyzak/snell-server container_name: snell-server environment: PSK: 5G0H4qdf32mEZx32t TZ: Asia/Shanghai IPV6: false PORT: 6180 restart: always ports: - 12303:6180 ``` **Surge Configuration**: ```ini [Proxy] Proxy = snell, 1.2.3.4, 6333, psk=RANDOM_KEY_HERE, version=4 ``` **Echo Config**: ```bash docker exec -it snell-server cat /etc/snell-server.conf ```For more information, please check Snell-Server.
One-API
One-API Access all LLM through the standard OpenAI API format, easy to deploy & use. It built with the linux/amd64
, linux/arm64
architectures.
Deployment
**Docker Deployment**: Deployment command: `docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data funnyzak/one-api` Update command: `docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR` The first `3000` in `-p 3000:3000` is the port of the host, which can be modified as needed. Data will be saved in the `/home/ubuntu/data/one-api` directory on the host. Ensure that the directory exists and has write permissions, or change it to a suitable directory. Nginx reference configuration: ``` server{ server_name openai.justsong.cn; # Modify your domain name accordingly location / { client_max_body_size 64m; proxy_http_version 1.1; proxy_pass http://localhost:3000; # Modify your port accordingly proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_cache_bypass $http_upgrade; proxy_set_header Accept-Encoding gzip; } } ``` Next, configure HTTPS with Let's Encrypt certbot: ```bash # Install certbot on Ubuntu: sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot # Generate certimates & modify Nginx configuration sudo certbot --nginx # Follow the prompts # Restart Nginx sudo service nginx restart ``` The initial account username is `root` and password is `123456`.For more information, please check One-API.
Y-WebRTC Signaling
Y-WebRTC is a WebRTC signaling server. More information can be found at y-webrtc-signaling.
This image is built with the linux/amd64
, linux/arm64
, linux/arm/v7
, linux/arm64/v8
, linux/ppc64le
, linux/s390x
architectures.
Deployment
**Docker Deployment**: ```bash docker run -d --name y-webrtc-signaling -p 4444:4444 funnyzak/y-webrtc-signaling:latest ``` **Docker Compose Deployment**: ```yaml version: '3.1' services: y-webrtc-signaling: container_name: y-webrtc-signaling image: funnyzak/y-webrtc-signaling:latest restart: always network_mode: bridge ports: - "4444:4444" ```For more information, please check y-webrtc-signaling.
Abracadabra Demo
Abracadabra (้ญๆฐ) is an instant text encryption/de-sensitization tool, which can also be used for file encryption, based on C++ 11. More information can be found at Abracadabra_demo.
This image is built with the linux/amd64
, linux/arm64
, linux/arm/v7
, linux/arm64/v8
, inux/ppc64le
, linux/s390x
architectures.
Deployment
**Docker Deployment**: ```bash docker run -d --name abracadabra-web -p 8080:80 funnyzak/abracadabra-web:latest # ghcr docker run -d --name abracadabra-web -p 8080:80 ghcr.io/funnyzak/abracadabra-web:latest # aliyun docker run -d --name abracadabra-web -p 8080:80 registry.cn-beijing.aliyuncs.com/funnyzak/abracadabra-web:latest ``` **Docker Compose Deployment**: ```yaml version: '3.1' services: abracadabra-web: container_name: abracadabra-web image: funnyzak/abracadabra-web:latest restart: always network_mode: bridge ports: - "8080:80" ``` **After Startup**: ![Abracadabra_demo](https://github.com/user-attachments/assets/5f9e5806-6372-49ce-9088-cc60bb47ed65)For more information, please check Abracadabra_demo.
LibreOffice-Server
LibreOffice Service service for editing documents online and converting Word to PDF via Web API. This service contains a Web API based on LibreOffice service App.
This image is built with the linux/amd64
, linux/arm64
architectures.
Deployment
**Docker Deployment**: ```bash docker run -d --name libreoffice -p 3000:3000 -p 3001:8038 funnyzak/libreoffice-server:latest ``` **Docker Compose Deployment**: ```yaml version: "3.1" services: libreoffice: image: funnyzak/libreoffice-server container_name: libreoffice environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai # volumes: # -./media/fonts:/usr/share/fonts/custom # ่ชๅฎไนๅญไฝ ports: - 3000:3000 # libreoffice web editor - 3001:8038 # web api restart: unless-stopped ```For more information, please check LibreOffice-Server.
Request-Hub
RequestHub is used to receive, record, and proxy HTTP requests. This image supports linux/386
, linux/amd64
, linux/arm/v6
, linux/arm/v7
, linux/arm64/v8
, linux/s390x
.
Deployment
**Docker Deployment**: ```bash docker run -d --name request-hub -p 8080:8080 funnyzak/request-hub:latest ``` **Docker Compose Deployment**: ```yaml version: '3.1' services: requesthub: image: funnyzak/request-hub container_name: requesthub restart: always environment: - TZ=Asia/Shanghai - LANG=C.UTF-8 - CONFIG_YML=/config.yml - NO_WEB=false - PORT=54321 - MAX_REQUESTS=1024 - USER_NAME=hello - PASSWORD=world volumes: -./config.yml:/config.yml ports: - 80:54321 ``` **After Deployment**: ![Request-Hub](https://github.com/user-attachments/assets/a4dacbb9-1131-4db9-a5f3-3d477487a070)For more information, please check Request-Hub.
Alibaba Canal
Alibaba Canal, a component for incremental subscription and consumption of binlogs in MySQL. Images are built for linux/amd64
and linux/arm64
architectures, and based on Official canal repo.
The following images are available:
Image | Tag | Size | Pulls |
---|---|---|---|
Canal-Adapter | |||
Canal-Deployer | |||
Canal-Admin |
All Images are installed under the /opt/canal
directory. For example, the canal-adapter
service is installed under /opt/canal/canal-adapter
.
Docker Pull
```bash # Docker Hub docker pull funnyzak/canal-adapter:latest docker pull funnyzak/canal-deployer:latest docker pull funnyzak/canal-admin:latest # GitHub Container Registry (GHCR) docker pull ghcr.io/funnyzak/canal-adapter:latest docker pull ghcr.io/funnyzak/canal-deployer:latest docker pull ghcr.io/funnyzak/canal-admin:latest # Alibaba Cloud Container Registry docker pull registry.cn-beijing.aliyuncs.com/funnyzak/canal-adapter:latest docker pull registry.cn-beijing.aliyuncs.com/funnyzak/canal-deployer:latest docker pull registry.cn-beijing.aliyuncs.com/funnyzak/canal-admin:latest ```For more information about Canal, please check Alibaba Canal.
Cron
cron is a lightweight service that runs in the background and executes scheduled tasks. It builds on the official alpine
image and includes dcron
as the cron service. The image is available for multiple architectures, including linux/386
, linux/amd64
, linux/arm/v6
, linux/arm/v7
, linux/arm64/v8
, linux/ppc64le
, linux/riscv64
, linux/s390x
.
Installed packages: dcron
, ca-certimates
, curl
, tar
, tzdata
, bash
, zip
, unzip
, rsync
.
For more information about cron, please check Cron Documentation.
MySQL Dump
mysql-dump is a simple MySQL backup tool that can backup all databases or specified databases. It can push message with pushoo and delete expired dump files. It supports custom commands before and after the dump, custom mysqldump options, compressed dump files, and crontab rules.
The image is available for multiple architectures, including linux/386
, linux/amd64
, linux/arm64
, linux/arm64/v8
, linux/ppc64le
, linux/riscv64
.
For more information about mysql-dump, please check MySQL Dump.
Hello
This is a simple โHello, World!โ program written in Go. Used to demonstrate how to build a Docker image.
For more information about Hello, please check Hello.
Directories
Images build directory is located at ./Docker. You can also download the directory to build the images yourself.
./Docker/nginx
: Build the Nginx service image../Docker/one-api
: Build the One-API service image../Docker/snell-server
: Build the Snell-Server service image../Docker/y-webrtc-signaling
: Build the y-webrtc-signaling service image../Docker/abracadabra-web
: Build the Abracadabra_demo service image../Docker/libreoffice-server
: Build the LibreOffice-Server service image../Docker/request-hub
: Build the Request-Hub service image../Docker/canal
: Build the Alibaba Canal service images.
Contributions
If you have any questions or suggestions, please feel free to open an issue or pull request.