Monorepo for my golang based applications.
Find a file
2025-11-21 19:51:48 +01:00
.github/workflows feat: update golang version, fix styles #177 (#178) 2025-08-23 13:12:24 +02:00
.vscode Cgoless sqlite (#148) 2025-01-05 15:17:59 +01:00
assets Favicon search (#179) 2025-11-10 20:34:23 +01:00
caddy feat: Implement a bundeling for CSS/JS via script. 2025-08-10 16:03:01 +02:00
cmd Cgoless sqlite (#148) 2025-01-05 15:17:59 +01:00
doc Convert mydms to ssr (#126) 2024-02-24 15:42:16 +01:00
internal fix(bookmarks): missing paths for invalid input. 2025-11-21 19:51:48 +01:00
litestream chore(litestream): bump version 2025-11-09 14:00:44 +01:00
pkg fix(css): I am no frontend dev, css is *interesting* 2025-08-24 14:43:23 +02:00
testdata chore: no real changes, just 'issues' with local copy 2025-11-09 12:52:49 +01:00
.air.toml Favicon search (#179) 2025-11-10 20:34:23 +01:00
.dockerignore feat(docker): update dockerfiles and strip almost the half of the size of the images (#87) 2023-02-12 13:12:02 +01:00
.editorconfig Merged PR 1: Rework the repo to have just one module file 2020-06-12 11:22:30 +00:00
.gitattributes Merged PR 1: Rework the repo to have just one module file 2020-06-12 11:22:30 +00:00
.gitignore Introduce a new bookmark type: Files (#180) 2025-11-21 19:09:14 +01:00
.golangci.yml feat(lint): linting with golangci 2025-01-08 17:47:13 +01:00
.minio.env feat(mydms): correct base64 encoding for URL paths (#156) 2025-04-18 15:19:16 +02:00
bookmarks.Dockerfile Introduce a new bookmark type: Files (#180) 2025-11-21 19:09:14 +01:00
caddy.Dockerfile fix(bookmarks): Rename directory bug (with lots of childs). 2025-11-09 13:50:37 +01:00
compose-integration.yaml Introduce a new bookmark type: Files (#180) 2025-11-21 19:09:14 +01:00
core.Dockerfile Age serverside (#174) 2025-08-01 13:56:37 +02:00
go.mod Introduce a new bookmark type: Files (#180) 2025-11-21 19:09:14 +01:00
go.sum Introduce a new bookmark type: Files (#180) 2025-11-21 19:09:14 +01:00
LICENSE Merged PR 1: Rework the repo to have just one module file 2020-06-12 11:22:30 +00:00
Makefile Introduce a new bookmark type: Files (#180) 2025-11-21 19:09:14 +01:00
mydms.Dockerfile Age serverside (#174) 2025-08-01 13:56:37 +02:00
README.md fix: correct an error when favicon is accidentally overwritten. 2023-06-17 12:04:45 +02:00
TODO.md chore: source beautification; TODO file 2025-04-18 18:14:47 +02:00
tokentest.Dockerfile Age serverside (#174) 2025-08-01 13:56:37 +02:00

Monorepo

The monorepo is a collecton of services used for login, documents and bookmarks

codecov


Golang cross-compile with CGO

Golang has the neat funcitionality to cross-compile to different target architectures. This is very useful and very easy by just set env-vars GOOS and GOARCH. There are cases when the process of cross-compilation is getting complicated. Specifically when CGO is in the mix. On Linux this is typically quite easy, but when on different architectures this can be a challenge.

When using sqlite it is necessary to use CGO_ENABLED. To cross-compile from a Mac source-system to e.g. Linux there is a nice support which is described in this blog-post: https://www.yellowduck.be/posts/cross-compile-a-go-package-which-uses-sqlite3

  1. Install musl-cross -> "One-click static-friendly musl-based GCC macOS-to-Linux cross-compilers" (https://github.com/FiloSottile/homebrew-musl-cross)
    brew install FiloSottile/musl-cross/musl-cross
    
  2. Compile by specifying CC and CXX
    CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ GOARCH=amd64 GOOS=linux CGO_ENABLED=1 go build -ldflags "-linkmode external -extldflags -static" ./...
    

The result is the correct platform-specific build: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked