gary 54c6e6e344
Publish Docker Image / Build and publish amd64 and arm64 (push) Successful in 1m24s
fix: improve JavBus sessions and JAVFREE parsing
2026-10-09 22:33:03 +08:00
2025-06-06 05:35:56 +08:00
2026-09-13 16:23:53 -04:00
2024-08-14 07:25:38 +08:00
2025-12-16 22:17:06 -05:00
2025-11-01 15:15:57 -04:00
2026-09-13 16:23:53 -04:00
2026-09-13 16:23:53 -04:00
2023-05-18 21:19:48 +08:00

MetaTube SDK Go

Build Status Go Report Card Require Go Version GitHub License Tag

Metadata Tube SDK in Golang.

Contents

Features

  • Supported platforms
    • Linux
    • Darwin
    • Windows
    • BSD(s)
  • Supported Databases
  • Image processing
    • Auto cropping
    • Badge support
    • Face detection
    • Image hashing
  • RESTful API
  • 20+ providers
  • Text translation

Installation

To install this package, you first need Go installed (go1.25+ is required), then you can use the below Go command to install SDK.

go get -u github.com/metatube-community/metatube-sdk-go

Gitea Docker Deployment

This fork publishes container images to gitea.bytevibe.dev/gary/metatube-server using .gitea/workflows/docker.yml. Images support both linux/amd64 and linux/arm64; Docker selects the matching architecture when pulling.

The Dockerfile runs the Go compiler on the builder's native platform and uses GOOS/GOARCH to cross-compile for each target. Certificates and timezone data are prepared natively and copied into the target Alpine image, so building either architecture requires no QEMU emulation. Go module and compilation cache mounts can be reused while the BuildKit builder is retained.

Actions Setup

  1. Enable Actions and Packages for the Gitea repository.
  2. Register a Linux runner with the ubuntu-latest label. Its job environment must have access to a Docker daemon. The runner must also be able to download the actions from GitHub and base images and Go dependencies from their registries.
  3. Create a personal access token for gary with package read/write permission. Add it under repository Settings > Actions > Secrets with the name REGISTRY_TOKEN. Do not commit the token to the repository.

Pushes to main publish latest and sha-<full commit hash>. Pushes of tags starting with v publish that tag and the commit tag without changing latest. The commit tag can be used to deploy or roll back to a specific build. The workflow can also be run manually from the repository's Actions page after updating registry credentials; select the main branch to publish latest. The original .github/workflows/ files are upstream GitHub workflows; this fork's Gitea publishing workflow uses the Gitea registry.

Deploy or Update

The included docker-compose.yaml uses the Gitea image. If authentication is required, log in with your Gitea username and a token with package read permission:

docker login gitea.bytevibe.dev -u gary
docker pull gitea.bytevibe.dev/gary/metatube-server:latest
docker compose pull metatube
docker compose up -d metatube

Run these commands on the deployment server in the directory containing your Compose file. Keep its existing database, volumes, token, and other settings when changing the image of an existing deployment. Publishing a new image does not update running containers automatically.

Credits

Library Description
gocolly/colly Elegant Scraper and Crawler Framework for Golang
gin-gonic/gin Gin is a HTTP web framework written in Go
gorm.io/gorm The fantastic ORM library for Golang
esimov/pigo Fast face detection, pupil/eyes localization and facial landmark points detection library in pure Go
robertkrimen/otto A JavaScript interpreter in Go (golang)
modernc.org/sqlite Package sqlite is a CGo-free port of SQLite/SQLite3
corona10/goimagehash Go Perceptual image hashing package
antchfx/xpath XPath package for Golang, supports HTML, XML, JSON document query
gen2brain/jpegli Go encoder/decoder for JPEG based on jpegli

License

Apache-2.0 License

S
Description
No description provided
Readme Apache-2.0
10 MiB
0 Stars 1 Watchers 0 Forks
Languages
Go 99.3%
Makefile 0.5%
Dockerfile 0.2%