mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-11-23 12:53:23 +00:00
b43f9ceca9
* 🐸restructure frontend stuff, include admin and future user panel in main repo, properly deduplicate bundles for css+js across uses
* rename bundled to dist, caught by gitignore
* re-include status.css for profile template
* default to localhost
* serve frontend panels
* add todo message for abstraction
* refactor oauth registration flow
* oauth restructure
* update footer template
* change panel routes
* remove superfluous css imports
* write bundle to disk from test server, use forked budo-express
* wrap all page content in container
for robustness with addons etc injection other elements in body
* update documentation, goreleaser, Dockerfile
* update template meta tags
* add AGPL-3.0+ license header everywhere
* only attach update listener on EventEmitter
* cleaner config for various frontend bundles
* fix bundler script paths
* Merge commit 'd191931932b9293ce1be44ed08a1e69b9fcc1e25'
* fix up dockerfile, goreleaser
* go mod tidy
* add uglifyify
* move status hide/show js to frontend bundle
* fix stylesheet color( func regressions
* update contributing docs for new build path
* update goreleaser + docker building
* resolve dependency paths properly
* update package name
* use api errorhandler
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
31 lines
1.4 KiB
Docker
31 lines
1.4 KiB
Docker
# syntax=docker/dockerfile:1.3
|
|
# stage 1: generate up-to-date swagger.yaml to put in the final container
|
|
FROM --platform=${BUILDPLATFORM} quay.io/goswagger/swagger:v0.29.0 AS swagger
|
|
|
|
COPY go.mod /go/src/github.com/superseriousbusiness/gotosocial/go.mod
|
|
COPY go.sum /go/src/github.com/superseriousbusiness/gotosocial/go.sum
|
|
COPY cmd /go/src/github.com/superseriousbusiness/gotosocial/cmd
|
|
COPY internal /go/src/github.com/superseriousbusiness/gotosocial/internal
|
|
WORKDIR /go/src/github.com/superseriousbusiness/gotosocial
|
|
RUN swagger generate spec -o /go/src/github.com/superseriousbusiness/gotosocial/swagger.yaml --scan-models
|
|
|
|
# stage 2: generate the web/assets/dist bundles
|
|
FROM --platform=${BUILDPLATFORM} node:16.15.1-alpine3.15 AS bundler
|
|
|
|
COPY web web
|
|
RUN yarn install --cwd web/source && \
|
|
BUDO_BUILD=1 node web/source && \
|
|
rm -r web/source
|
|
|
|
# stage 3: build the executor container
|
|
FROM --platform=${TARGETPLATFORM} alpine:3.15.4 as executor
|
|
|
|
# copy the dist binary created by goreleaser or build.sh
|
|
COPY --chown=1000:1000 gotosocial /gotosocial/gotosocial
|
|
|
|
# copy over the web directories with templates, assets etc
|
|
COPY --chown=1000:1000 --from=bundler web /gotosocial/web
|
|
COPY --chown=1000:1000 --from=swagger /go/src/github.com/superseriousbusiness/gotosocial/swagger.yaml web/assets/swagger.yaml
|
|
|
|
WORKDIR "/gotosocial"
|
|
ENTRYPOINT [ "/gotosocial/gotosocial", "server", "start" ]
|