Dropped domain prefixes and unified container and network names

This commit is contained in:
2026-03-25 08:19:20 +01:00
parent 162fbabd26
commit b8b7baee0f
4 changed files with 53 additions and 53 deletions

View File

@@ -4,7 +4,7 @@ draft: false
title: "Let's start a blog!" title: "Let's start a blog!"
author: "Jirka" author: "Jirka"
tags: ["hugo", "idea", "guide", "tutorial"] tags: ["hugo", "idea", "guide", "tutorial"]
categories: ["blog", "idea"] categories: ["documentation", "idea"]
description: "Behind the scenes of the idea and setup." description: "Behind the scenes of the idea and setup."
--- ---

View File

@@ -183,10 +183,10 @@ Let's start by creating `docker-compose.yml`:
```yaml docker-compose.yml ```yaml docker-compose.yml
# Shared network between containers (for later use) # Shared network between containers (for later use)
networks: networks:
jirkabuilds_proxy_network: proxy_network:
services: services:
jirkabuilds_wireguard: wireguard:
image: linuxserver/wireguard:latest image: linuxserver/wireguard:latest
container_name: wireguard container_name: wireguard
cap_add: cap_add:
@@ -199,13 +199,13 @@ services:
restart: unless-stopped restart: unless-stopped
# We will add wireguard to this network, but limit access from WG itself # We will add wireguard to this network, but limit access from WG itself
networks: networks:
- jirkabuilds_proxy_network - proxy_network
jirkabuilds_caddy: caddy:
image: caddy:latest image: caddy:latest
container_name: jirkabuilds_caddy container_name: caddy
# Caddy shares all networks with WireGuard # Caddy shares all networks with WireGuard
network_mode: "service:jirkabuilds_wireguard" network_mode: "service:wireguard"
volumes: volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile - ./caddy/Caddyfile:/etc/caddy/Caddyfile
- ./site_data:/srv - ./site_data:/srv

View File

@@ -37,7 +37,7 @@ mv * web
Now create new `docker-compose.yml` file with following content: Now create new `docker-compose.yml` file with following content:
```yaml ```yaml
networks: networks:
jirkabuilds_proxy_network: proxy_network:
include: include:
- web/docker-compose.yml - web/docker-compose.yml
@@ -56,24 +56,24 @@ And you should be back online.
Create new directory `gitea` for Gitea and it's data an into it create new `docker-compose.yml` file with following content: Create new directory `gitea` for Gitea and it's data an into it create new `docker-compose.yml` file with following content:
```yaml ```yaml
networks: networks:
gitea-internal: gitea_internal:
jirkabuilds_proxy_network: proxy_network:
services: services:
jirkabuilds_gitea: gitea:
image: docker.gitea.com/gitea:latest image: docker.gitea.com/gitea:latest
container_name: jirkabuilds_gitea container_name: gitea
environment: environment:
- USER_UID=${APP_UID} - USER_UID=${APP_UID}
- USER_GID=${APP_GID} - USER_GID=${APP_GID}
- GITEA__database__DB_TYPE=postgres - GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=jirkabuilds_gitea_db:5432 - GITEA__database__HOST=gitea_db:5432
- GITEA__database__NAME=${DB_NAME} - GITEA__database__NAME=${DB_NAME}
- GITEA__database__USER=${DB_USER} - GITEA__database__USER=${DB_USER}
- GITEA__database__PASSWD=${DB_PASSWORD} - GITEA__database__PASSWD=${DB_PASSWORD}
restart: always restart: always
networks: networks:
- gitea-internal - gitea_internal
volumes: volumes:
- ./gitea:/data - ./gitea:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
@@ -84,7 +84,7 @@ services:
depends_on: depends_on:
- db - db
jirkabuilds_gitea_db: gitea_db:
image: docker.io/library/postgres:14 image: docker.io/library/postgres:14
restart: always restart: always
environment: environment:
@@ -92,7 +92,7 @@ services:
- POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=${DB_NAME} - POSTGRES_DB=${DB_NAME}
networks: networks:
- gitea-internal - gitea_internal
volumes: volumes:
- ./postgres:/var/lib/postgresql/data - ./postgres:/var/lib/postgresql/data
``` ```
@@ -122,33 +122,33 @@ When you finish initial setup, we can add Gitea to our stack. Start by editing G
There you should remove line with ports and port definition under Gitea service and add proxy network under networks. Changed part of the file should look like this: There you should remove line with ports and port definition under Gitea service and add proxy network under networks. Changed part of the file should look like this:
```yaml ```yaml
jirkabuilds_gitea: gitea:
image: docker.gitea.com/gitea:latest image: docker.gitea.com/gitea:latest
container_name: jirkabuilds_gitea container_name: gitea
environment: environment:
- USER_UID=${APP_UID} - USER_UID=${APP_UID}
- USER_GID=${APP_GID} - USER_GID=${APP_GID}
- GITEA__database__DB_TYPE=postgres - GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=jirkabuilds_gitea_db:5432 - GITEA__database__HOST=gitea_db:5432
- GITEA__database__NAME=${DB_NAME} - GITEA__database__NAME=${DB_NAME}
- GITEA__database__USER=${DB_USER} - GITEA__database__USER=${DB_USER}
- GITEA__database__PASSWD=${DB_PASSWORD} - GITEA__database__PASSWD=${DB_PASSWORD}
restart: always restart: always
networks: networks:
- gitea-internal - gitea_internal
- jirkabuilds_proxy_network - proxy_network
volumes: volumes:
- ./gitea:/data - ./gitea:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
depends_on: depends_on:
- jirkabuilds_gitea_db - gitea_db
``` ```
Last step is to change `Caddyfile` in `web` folder. All you need to do is add following lines: Last step is to change `Caddyfile` in `web` folder. All you need to do is add following lines:
``` ```
git.jirkabuilds.dev { git.jirkabuilds.dev {
reverse_proxy jirkabuilds_gitea:3000 reverse_proxy gitea:3000
} }
``` ```
If you have set up DNS correctly, after shutting the stack down and up the Gitea should be online. If you have set up DNS correctly, after shutting the stack down and up the Gitea should be online.

View File

@@ -27,37 +27,37 @@ I will store this token into `.env` file inside my `gitea` directory created in
Next we modify Gitea `docker-compose.yml` file to look as follows: Next we modify Gitea `docker-compose.yml` file to look as follows:
```yml ```yml
networks: networks:
jirka_builds_gitea_internal: gitea_internal:
jirkabuilds_proxy_network: proxy_network:
jirkabuilds_gitea_runner_net: # For runner dind comunication gitea_runner_net: # For runner dind comunication
jirkabuilds_gitea_net: # For runner gitea comunication, isolated from db gitea_net: # For runner gitea comunication, isolated from db
services: services:
jirkabuilds_gitea: gitea:
image: docker.gitea.com/gitea:latest image: docker.gitea.com/gitea:latest
container_name: jirkabuilds_gitea container_name: gitea
environment: environment:
- USER_UID=${APP_UID} - USER_UID=${APP_UID}
- USER_GID=${APP_GID} - USER_GID=${APP_GID}
- GITEA__database__DB_TYPE=postgres - GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=jirkabuilds_gitea_db:5432 - GITEA__database__HOST=gitea_db:5432
- GITEA__database__NAME=${DB_NAME} - GITEA__database__NAME=${DB_NAME}
- GITEA__database__USER=${DB_USER} - GITEA__database__USER=${DB_USER}
- GITEA__database__PASSWD=${DB_PASSWORD} - GITEA__database__PASSWD=${DB_PASSWORD}
restart: always restart: always
networks: networks:
- jirka_builds_gitea_internal - gitea_internal
- jirkabuilds_proxy_network - proxy_network
- jirkabuilds_gitea_net - gitea_net
volumes: volumes:
- ./gitea:/data - ./gitea:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
depends_on: depends_on:
- jirkabuilds_gitea_db - gitea_db
jirkabuilds_gitea_db: gitea_db:
image: docker.io/library/postgres:14 image: docker.io/library/postgres:14
restart: always restart: always
environment: environment:
@@ -65,33 +65,33 @@ services:
- POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=${DB_NAME} - POSTGRES_DB=${DB_NAME}
networks: networks:
- jirka_builds_gitea_internal - gitea_internal
volumes: volumes:
- ./postgres:/var/lib/postgresql/data - ./postgres:/var/lib/postgresql/data
# New # New
dind: dind:
image: docker:dind image: docker:dind
container_name: jirkabuilds-gitea-dind container_name: gitea-dind
restart: always restart: always
privileged: true privileged: true
environment: environment:
- DOCKER_TLS_CERTDIR=/certs - DOCKER_TLS_CERTDIR=/certs
volumes: volumes:
- jirkabuilds_dind_certs:/certs - dind_certs:/certs
- jirkabuilds_dind_data:/var/lib/docker - dind_data:/var/lib/docker
networks: networks:
jirkabuilds_gitea_runner_net: gitea_runner_net:
aliases: aliases:
- docker - docker
runner: runner:
image: gitea/act_runner:latest image: gitea/act_runner:latest
container_name: jirkabuilds-gitea-runner container_name: gitea-runner
restart: always restart: always
depends_on: depends_on:
- dind - dind
- jirkabuilds_gitea - gitea
environment: environment:
- GITEA_INSTANCE_URL=https://git.jirkabuilds.dev - GITEA_INSTANCE_URL=https://git.jirkabuilds.dev
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN} - GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN}
@@ -100,16 +100,16 @@ services:
- DOCKER_CERT_PATH=/certs/client - DOCKER_CERT_PATH=/certs/client
- DOCKER_TLS_VERIFY=1 - DOCKER_TLS_VERIFY=1
volumes: volumes:
- jirkabuilds_runner_data:/data - runner_data:/data
- jirkabuilds_dind_certs:/certs:ro - dind_certs:/certs:ro
networks: networks:
- jirkabuilds_gitea_net - gitea_net
- jirkabuilds_gitea_runner_net - gitea_runner_net
volumes: volumes:
jirkabuilds_dind_certs: dind_certs:
jirkabuilds_dind_data: dind_data:
jirkabuilds_runner_data: runner_data:
``` ```
And that is all, after `docker compose up -d`, runner should show up in the registry. And that is all, after `docker compose up -d`, runner should show up in the registry.
@@ -235,7 +235,7 @@ And last step is to create `docker-compose.yml`:
services: services:
webhook: webhook:
build: . build: .
container_name: jirkabuilds_release_web_webhook container_name: release_web_webhook
volumes: volumes:
- ./hooks.json:/etc/webhook/hooks.json:ro - ./hooks.json:/etc/webhook/hooks.json:ro
- ./deploy.sh:/app/deploy.sh:ro - ./deploy.sh:/app/deploy.sh:ro
@@ -243,16 +243,16 @@ services:
command: ["-verbose", "-hooks=/etc/webhook/hooks.json", "-hotreload"] command: ["-verbose", "-hooks=/etc/webhook/hooks.json", "-hotreload"]
restart: unless-stopped restart: unless-stopped
networks: networks:
- jirkabuilds_proxy_network - proxy_network
networks: networks:
jirkabuilds_proxy_network: proxy_network:
``` ```
You can see, we are using the same proxy network as for everything. Next step is to add following block to `Caddyfile`: You can see, we are using the same proxy network as for everything. Next step is to add following block to `Caddyfile`:
``` ```
hooks.jirkabuilds.dev { hooks.jirkabuilds.dev {
reverse_proxy jirkabuilds_release_web_webhook:9000 reverse_proxy release_web_webhook:9000
} }
``` ```