Replace the Woodpecker pipelines with Actions workflows under `.github/workflows`, matching the conventions the other migrated repositories now use (butterrobot, smtp2shoutrrr, terraria-companion, dharma). ## Workflows - Jobs run on `ubuntu-latest`, answered with the catthehacker act image — no `ci-base` container. - Short `uses:` resolves against github.com, so every action carries its real name: `goreleaser/goreleaser-action`, `oven-sh/setup-bun`, `docker/setup-qemu-action`, `docker/setup-buildx-action`. - The act image carries none of the tooling `ci-base` provided, so each job installs what it calls: `make` everywhere, `build-essential` for the CGO test job, `upx-ucl` for goreleaser's `upx` block, bun for the webapp build, goreleaser itself for `make build`. - `e2e` gets a Docker-in-Docker service so testcontainers can resolve its mapped ports from inside the job container; Playwright installs with `--with-deps` now that the job has sudo. ## Supporting changes - `Makefile` drops unused variables and adopts a self-documenting `help` target. - `.goreleaser.yml` keeps `dockers_v2` for the multi-platform image. - `Containerfile` moves to Alpine 3.23; nfpm description fixed. - e2e: shared Docker network so link creation reaches the test web server, `mattn/go-sqlite3` added to the e2e module, `all:dist` embed directive so dot-files ship in the webapp bundle. Reviewed-on: #1
21 lines
594 B
Docker
21 lines
594 B
Docker
FROM alpine:3.23
|
|
LABEL maintainer="Felipe Martin <me@fmartingr.com>"
|
|
LABEL org.opencontainers.image.source="https://git.nakama.town/fmartingr/hako"
|
|
|
|
RUN apk add --no-cache \
|
|
poppler-utils \
|
|
ca-certificates \
|
|
tzdata \
|
|
&& apk add --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/v3.23/community yt-dlp ffmpeg
|
|
|
|
RUN addgroup -g 1000 hako && adduser -u 1000 -G hako -s /bin/sh -D hako
|
|
|
|
WORKDIR /app
|
|
COPY hako /usr/local/bin/hako
|
|
RUN chown -R hako:hako /app
|
|
|
|
USER hako
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["/usr/local/bin/hako"]
|
|
CMD ["server", "--config", "/app/config/config.yaml"]
|