commit 865b924dc35b503ab3b428b08f18535f00e6f104 Author: Erystasius Date: Sun Mar 22 08:01:26 2026 +0800 init diff --git a/caddy/.env b/caddy/.env new file mode 100644 index 0000000..e733799 --- /dev/null +++ b/caddy/.env @@ -0,0 +1,2 @@ +UID=1001 +GID=1001 diff --git a/caddy/.gitignore b/caddy/.gitignore new file mode 100644 index 0000000..2171176 --- /dev/null +++ b/caddy/.gitignore @@ -0,0 +1,2 @@ +config/ +data/ diff --git a/caddy/compose.yaml b/caddy/compose.yaml new file mode 100644 index 0000000..d1388f6 --- /dev/null +++ b/caddy/compose.yaml @@ -0,0 +1,19 @@ +services: + caddy: + image: caddy:2.11 + restart: unless-stopped + ports: + - "80:80" + - "443:443" + - "443:443/udp" + volumes: + - ./conf:/etc/caddy + - ./site:/srv + - ./data:/data + - ./config:/config + networks: + - eryfel-net + +networks: + eryfel-net: + external: true diff --git a/caddy/conf/Caddyfile b/caddy/conf/Caddyfile new file mode 100644 index 0000000..b8dd2a2 --- /dev/null +++ b/caddy/conf/Caddyfile @@ -0,0 +1,16 @@ +eryfel.net { + root * /srv + file_server +} + +www.eryfel.net { + redir https://eryfel.net{uri} +} + +git.eryfel.net { + reverse_proxy gitea:3000 +} + +cal.eryfel.net { + reverse_proxy radicale:5232 +} diff --git a/caddy/site/beian.png b/caddy/site/beian.png new file mode 100755 index 0000000..2a13ba2 Binary files /dev/null and b/caddy/site/beian.png differ diff --git a/caddy/site/index.html b/caddy/site/index.html new file mode 100644 index 0000000..fdbeead --- /dev/null +++ b/caddy/site/index.html @@ -0,0 +1,80 @@ + + + + + + Ery's Space + + + +
+

Welcome

+

Ery's Technical Space

+
+ + + + diff --git a/gitea/.env b/gitea/.env new file mode 100644 index 0000000..e733799 --- /dev/null +++ b/gitea/.env @@ -0,0 +1,2 @@ +UID=1001 +GID=1001 diff --git a/gitea/.gitignore b/gitea/.gitignore new file mode 100644 index 0000000..8fce603 --- /dev/null +++ b/gitea/.gitignore @@ -0,0 +1 @@ +data/ diff --git a/gitea/compose.yaml b/gitea/compose.yaml new file mode 100644 index 0000000..543f766 --- /dev/null +++ b/gitea/compose.yaml @@ -0,0 +1,15 @@ +services: + gitea: + image: docker.gitea.com/gitea:1.25.5-rootless + restart: always + userns_mode: "keep-id" + user: "${UID}:${GID}" + volumes: + - ./data:/var/lib/gitea:Z,U + - ./config:/etc/gitea:Z,U + networks: + - eryfel-net + +networks: + eryfel-net: + external: true diff --git a/gitea/config/app.ini b/gitea/config/app.ini new file mode 100644 index 0000000..915fbf7 --- /dev/null +++ b/gitea/config/app.ini @@ -0,0 +1,98 @@ +APP_NAME = Ery's Gitea +RUN_USER = git +RUN_MODE = prod +WORK_PATH = /var/lib/gitea + +[repository] +ROOT = /var/lib/gitea/git/repositories + +[repository.local] +LOCAL_COPY_PATH = /tmp/gitea/local-repo + +[repository.upload] +TEMP_PATH = /tmp/gitea/uploads + +[server] +APP_DATA_PATH = /var/lib/gitea +SSH_DOMAIN = git.eryfel.net +HTTP_PORT = 3000 +ROOT_URL = https://git.eryfel.net/ +DISABLE_SSH = false +; In rootless gitea container only internal ssh server is supported +START_SSH_SERVER = true +SSH_PORT = 2222 +SSH_LISTEN_PORT = 2222 +BUILTIN_SSH_SERVER_USER = git +LFS_START_SERVER = true +DOMAIN = git.eryfel.net +LFS_JWT_SECRET = gwue1pMh4qIbeBjwUEyB13wtQ0cFHX2t22VNMTcVoB0 +OFFLINE_MODE = true + +[database] +PATH = /var/lib/gitea/data/gitea.db +DB_TYPE = sqlite3 +HOST = localhost:3306 +NAME = gitea +USER = root +PASSWD = +SCHEMA = +SSL_MODE = disable +LOG_SQL = false + +[session] +PROVIDER_CONFIG = /var/lib/gitea/data/sessions +PROVIDER = file + +[picture] +AVATAR_UPLOAD_PATH = /var/lib/gitea/data/avatars +REPOSITORY_AVATAR_UPLOAD_PATH = /var/lib/gitea/data/repo-avatars + +[attachment] +PATH = /var/lib/gitea/data/attachments + +[log] +ROOT_PATH = /var/lib/gitea/data/log +MODE = console +LEVEL = info + +[security] +INSTALL_LOCK = true +SECRET_KEY = +REVERSE_PROXY_LIMIT = 1 +REVERSE_PROXY_TRUSTED_PROXIES = * +INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE3NzQxMzY5NTN9.0dX03FUC3EKjmRKcHpm0IH0bhD4wtk_KXLFQ3sNesgM +PASSWORD_HASH_ALGO = pbkdf2 + +[service] +DISABLE_REGISTRATION = false +REQUIRE_SIGNIN_VIEW = false +REGISTER_EMAIL_CONFIRM = false +ENABLE_NOTIFY_MAIL = false +ALLOW_ONLY_EXTERNAL_REGISTRATION = false +ENABLE_CAPTCHA = false +DEFAULT_KEEP_EMAIL_PRIVATE = false +DEFAULT_ALLOW_CREATE_ORGANIZATION = true +DEFAULT_ENABLE_TIMETRACKING = true +NO_REPLY_ADDRESS = noreply.localhost + +[lfs] +PATH = /var/lib/gitea/git/lfs + +[mailer] +ENABLED = false + +[openid] +ENABLE_OPENID_SIGNIN = true +ENABLE_OPENID_SIGNUP = true + +[cron.update_checker] +ENABLED = false + +[repository.pull-request] +DEFAULT_MERGE_STYLE = merge + +[repository.signing] +DEFAULT_TRUST_MODEL = committer + +[oauth2] +JWT_SECRET = RaSq6k_MmyVNrPAaHFk83lCPtDfH2e3bIUCmyJ7Vup0 diff --git a/radicale/.env b/radicale/.env new file mode 100644 index 0000000..e733799 --- /dev/null +++ b/radicale/.env @@ -0,0 +1,2 @@ +UID=1001 +GID=1001 diff --git a/radicale/.gitignore b/radicale/.gitignore new file mode 100644 index 0000000..8fce603 --- /dev/null +++ b/radicale/.gitignore @@ -0,0 +1 @@ +data/ diff --git a/radicale/compose.yaml b/radicale/compose.yaml new file mode 100644 index 0000000..3443ce4 --- /dev/null +++ b/radicale/compose.yaml @@ -0,0 +1,18 @@ +services: + radicale: + image: ghcr.io/kozea/radicale:stable + restart: unless-stopped + userns_mode: "keep-id" + user: "${UID}:${GID}" + ports: + - 5232:5232 + volumes: + - ./config:/etc/radicale + - ./data:/var/lib/radicale:U + networks: + - eryfel-net + +networks: + eryfel-net: + external: true + diff --git a/radicale/config/config b/radicale/config/config new file mode 100644 index 0000000..b7947a1 --- /dev/null +++ b/radicale/config/config @@ -0,0 +1,10 @@ +[server] +hosts = 0.0.0.0:5232 + +[auth] +type = htpasswd +htpasswd_filename = /etc/radicale/users +htpasswd_encryption = bcrypt + +[storage] +filesystem_folder = /var/lib/radicale/collections diff --git a/radicale/config/users b/radicale/config/users new file mode 100644 index 0000000..c4fb94f --- /dev/null +++ b/radicale/config/users @@ -0,0 +1 @@ +ery:$2y$05$AdVdFlCV2R9/EaHO85dxYuWQKBMhso9siK5lCtuMbP/szoiXhT5X6