Added Docker to releaser configuration

This commit is contained in:
Pijus Kamandulis 2024-04-06 18:55:15 +03:00
parent 86c0275410
commit 26dcd68ace
4 changed files with 39 additions and 0 deletions

View File

@ -7,6 +7,7 @@ on:
permissions:
contents: write
packages: write
jobs:
goreleaser:
@ -20,6 +21,12 @@ jobs:
uses: actions/setup-go@v5
with:
go-version: 1.21.6
- name: Docker Login
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:

View File

@ -31,5 +31,20 @@ brews:
name: pikami
email: git@pikami.org
dockers:
- image_templates: ["ghcr.io/pikami/{{ .ProjectName }}:{{ .Version }}-amd64"]
dockerfile: Dockerfile
use: docker
build_flag_templates:
- "--platform=linux/amd64"
- "--pull"
- "--label=org.opencontainers.image.title={{.ProjectName}}"
- "--label=org.opencontainers.image.description=Lightweight Cosmos DB emulator"
- "--label=org.opencontainers.image.url=https://github.com/pikami/cosmium"
- "--label=org.opencontainers.image.source=https://github.com/pikami/cosmium"
- "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Version}}"
checksum:
name_template: 'checksums.txt'

6
Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM scratch
WORKDIR /app
COPY cosmium /app/cosmium
ENTRYPOINT ["/app/cosmium"]

View File

@ -47,6 +47,17 @@ If you want to run Cosmos DB Explorer alongside Cosmium, you'll need to build it
Once running, the explorer can be reached by navigating following URL: `https://127.0.0.1:8081/_explorer/` (might be different depending on your configuration).
### Running with docker (optional)
If you wan to run the application using docker, configure it using environment variables see example:
```sh
docker run --rm \
-e Persist=/save.json \
-v ./save.json:/save.json \
-p 8081:8081 \
ghcr.io/pikami/cosmium
```
### SSL Certificate
By default, Cosmium uses a pre-generated SSL certificate. You can provide your own certificates by specifying paths to the SSL certificate and key (PEM format) using the `-Cert` and `-CertKey` arguments, respectively.