Intial release 0.0.1

This commit is contained in:
djmil 2024-06-23 13:55:53 +02:00
parent 48923386b3
commit b4d77a8ff6
7 changed files with 131 additions and 12 deletions

9
Caddyfile Normal file
View File

@ -0,0 +1,9 @@
{
order gitea before file_server
}
:3003
gitea {
token {$GITEA_ACCESS_TOKEN} # Settings > Applications > Generate Token
server {$GITEA_HOST} # https://yourgitea.yourdomain.com
domain {$PAGES_DOMAIN} # pages.yourdomain.com
}

View File

@ -1,8 +1,16 @@
FROM caddy:2.6-builder-alpine AS builder
FROM caddy:2.8.4-builder-alpine AS builder
COPY pkg/gitea/* /module/gitea-pages/pkg/gitea/
COPY gitea-pages.go go.mod go.sum /module/gitea-pages/
RUN xcaddy build \
--with github.com/42wim/caddy-gitea@v0.0.3
--with gitea.djmil.dev/goland/gitea-pages \
--replace gitea.djmil.dev/goland/gitea-pages=/module/gitea-pages \
--replace gitea.djmil.dev/goland/gitea-pages/pkg/gitea=/module/gitea-pages/pkg/gitea
FROM caddy:2.6.2
FROM caddy:2.8.4
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
COPY Caddyfile /etc/caddy/Caddyfile
EXPOSE 3003/tcp

View File

@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Copyright 2023 https://github.com/42wim
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

View File

@ -1,9 +1,8 @@
# caddy-gitea
# gitea-pages
[Gitea](https://gitea.io) plugin for [Caddy v2](https://github.com/caddyserver/caddy).
Fork of the [caddy-gitea](https://github.com/42wim/caddy-gitea) project: [Gitea](https://gitea.io) plugin for [Caddy v2](https://github.com/caddyserver/caddy).
This allows you to have github pages (with more features) in Gitea.
This also requires you to setup a wildcard CNAME to your gitea host.
The project aims to have Github Pages in Gitea. For doing so it relies on a wildcard CNAME DNS entry to the gitea host.
For now markdown files (with `.md` extension) will also be automatically generated to HTML.
@ -18,6 +17,7 @@ For now markdown files (with `.md` extension) will also be automatically generat
- [any repo with configurable allowed branch/tag/commits](#any-repo-with-configurable-allowed-branchtagcommits)
- [any repo with all branches/tags/commits exposed](#any-repo-with-all-branchestagscommits-exposed)
- [Building caddy](#building-caddy)
- [Integration & deployment](#Integration with Gitea)
<!-- /TOC -->
@ -114,7 +114,70 @@ e.g. we'll use the `yourrepo` repo in the `yourorg` org and there is a `file.htm
As this is a 3rd party plugin you'll need to build caddy (or use the binaries).
To build with this plugin you'll need to have go1.19 installed.
```go
```bash
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest #this will install xcaddy in ~/go/bin
~/go/bin/xcaddy build --with github.com/42wim/caddy-gitea@v0.0.4
xcaddy build \
--with gitea.djmil.dev/goland/gitea-pages \
--replace gitea.djmil.dev/goland/gitea-pages=/module/gitea-pages \
--replace gitea.djmil.dev/goland/gitea-pages/pkg/gitea=/module/gitea-pages/pkg/gitea
```
## Integration with Gitea
Afther the release is done, `gitea-pages` docker image shall be availvable at the [Docker Hub](https://hub.docker.com/repository/docker/djmil/gitea-pages/general)
```yaml
version: "3"
networks:
gitea:
external: false
services:
gitea:
image: gitea/gitea:1.22.0
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
pages:
image: djmil/gitea-pages:0.0.1
restart: always
environment:
- GITEA_HOST=http://gitea:3000
- PAGES_DOMAIN=pages.djmil.dev
networks:
- gitea
ports:
- "3003:3003"
```

View File

@ -5,7 +5,7 @@ import (
"net/http"
"strings"
"github.com/42wim/caddy-gitea/pkg/gitea"
"gitea.djmil.dev/goland/gitea-pages/pkg/gitea"
"github.com/caddyserver/caddy/v2"
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
"github.com/caddyserver/caddy/v2/caddyconfig/httpcaddyfile"

2
go.mod
View File

@ -1,4 +1,4 @@
module github.com/42wim/caddy-gitea
module gitea-pages
go 1.19

39
make-release.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/bash
set -e
usage="$(basename "$0") [-h] [-t RELEASE_VERSION ]
The script compiles Caddy server with GiteaPages plugin, and publishes the resulting image
to the https://hub.docker.com/u/djmil
Where:
-t RELEASE_VERSION
A major.minor.patch tag for the image being publisdhed.
"
tag=''
while getopts ht: flag
do
case "${flag}" in
t) tag=${OPTARG};;
h) echo "$usage"; exit 0;;
*) echo "$usage" >&2; exit 1;;
esac
done
if [ ! "$tag" ]; then
echo 'Missing: -t RELEASE_VERSION' >&2
exit 1
fi
echo "Tag: $tag";
docker build --tag djmil/gitea-pages:$tag .
#git tag
#git push tag
docker login --username djmil #--password-stdin
docker push djmil/gitea-pages:$tag