diff --git a/content/blog/01-blog.md b/content/blog/01-blog.md index c1f3b33..48cf7e7 100644 --- a/content/blog/01-blog.md +++ b/content/blog/01-blog.md @@ -4,7 +4,7 @@ draft: false title: "Let's start a blog!" author: "Jirka" tags: ["hugo", "idea", "guide", "tutorial"] -categories: ["blog", "idea"] +categories: ["documentation", "idea"] description: "Behind the scenes of the idea and setup." --- diff --git a/content/blog/02-hosting-blog.md b/content/blog/02-hosting-blog.md index e2cdaf4..0363b7e 100644 --- a/content/blog/02-hosting-blog.md +++ b/content/blog/02-hosting-blog.md @@ -183,10 +183,10 @@ Let's start by creating `docker-compose.yml`: ```yaml docker-compose.yml # Shared network between containers (for later use) networks: - jirkabuilds_proxy_network: + proxy_network: services: - jirkabuilds_wireguard: + wireguard: image: linuxserver/wireguard:latest container_name: wireguard cap_add: @@ -199,13 +199,13 @@ services: restart: unless-stopped # We will add wireguard to this network, but limit access from WG itself networks: - - jirkabuilds_proxy_network + - proxy_network - jirkabuilds_caddy: + caddy: image: caddy:latest - container_name: jirkabuilds_caddy + container_name: caddy # Caddy shares all networks with WireGuard - network_mode: "service:jirkabuilds_wireguard" + network_mode: "service:wireguard" volumes: - ./caddy/Caddyfile:/etc/caddy/Caddyfile - ./site_data:/srv diff --git a/content/blog/03-gitea.md b/content/blog/03-gitea.md index 4a0f053..7ed6829 100644 --- a/content/blog/03-gitea.md +++ b/content/blog/03-gitea.md @@ -37,7 +37,7 @@ mv * web Now create new `docker-compose.yml` file with following content: ```yaml networks: - jirkabuilds_proxy_network: + proxy_network: include: - 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: ```yaml networks: - gitea-internal: - jirkabuilds_proxy_network: + gitea_internal: + proxy_network: services: - jirkabuilds_gitea: + gitea: image: docker.gitea.com/gitea:latest - container_name: jirkabuilds_gitea + container_name: gitea environment: - USER_UID=${APP_UID} - USER_GID=${APP_GID} - 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__USER=${DB_USER} - GITEA__database__PASSWD=${DB_PASSWORD} restart: always networks: - - gitea-internal + - gitea_internal volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro @@ -84,7 +84,7 @@ services: depends_on: - db - jirkabuilds_gitea_db: + gitea_db: image: docker.io/library/postgres:14 restart: always environment: @@ -92,7 +92,7 @@ services: - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=${DB_NAME} networks: - - gitea-internal + - gitea_internal volumes: - ./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: ```yaml - jirkabuilds_gitea: + gitea: image: docker.gitea.com/gitea:latest - container_name: jirkabuilds_gitea + container_name: gitea environment: - USER_UID=${APP_UID} - USER_GID=${APP_GID} - 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__USER=${DB_USER} - GITEA__database__PASSWD=${DB_PASSWORD} restart: always networks: - - gitea-internal - - jirkabuilds_proxy_network + - gitea_internal + - proxy_network volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro 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: ``` 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. diff --git a/content/blog/04-automatic-release.md b/content/blog/04-automatic-release.md index 8769347..061fbc6 100644 --- a/content/blog/04-automatic-release.md +++ b/content/blog/04-automatic-release.md @@ -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: ```yml networks: - jirka_builds_gitea_internal: - jirkabuilds_proxy_network: - jirkabuilds_gitea_runner_net: # For runner dind comunication - jirkabuilds_gitea_net: # For runner gitea comunication, isolated from db + gitea_internal: + proxy_network: + gitea_runner_net: # For runner dind comunication + gitea_net: # For runner gitea comunication, isolated from db services: - jirkabuilds_gitea: + gitea: image: docker.gitea.com/gitea:latest - container_name: jirkabuilds_gitea + container_name: gitea environment: - USER_UID=${APP_UID} - USER_GID=${APP_GID} - 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__USER=${DB_USER} - GITEA__database__PASSWD=${DB_PASSWORD} restart: always networks: - - jirka_builds_gitea_internal - - jirkabuilds_proxy_network - - jirkabuilds_gitea_net + - gitea_internal + - proxy_network + - gitea_net volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro depends_on: - - jirkabuilds_gitea_db + - gitea_db - jirkabuilds_gitea_db: + gitea_db: image: docker.io/library/postgres:14 restart: always environment: @@ -65,33 +65,33 @@ services: - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=${DB_NAME} networks: - - jirka_builds_gitea_internal + - gitea_internal volumes: - ./postgres:/var/lib/postgresql/data # New dind: image: docker:dind - container_name: jirkabuilds-gitea-dind + container_name: gitea-dind restart: always privileged: true environment: - DOCKER_TLS_CERTDIR=/certs volumes: - - jirkabuilds_dind_certs:/certs - - jirkabuilds_dind_data:/var/lib/docker + - dind_certs:/certs + - dind_data:/var/lib/docker networks: - jirkabuilds_gitea_runner_net: + gitea_runner_net: aliases: - docker runner: image: gitea/act_runner:latest - container_name: jirkabuilds-gitea-runner + container_name: gitea-runner restart: always depends_on: - dind - - jirkabuilds_gitea + - gitea environment: - GITEA_INSTANCE_URL=https://git.jirkabuilds.dev - GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_TOKEN} @@ -100,16 +100,16 @@ services: - DOCKER_CERT_PATH=/certs/client - DOCKER_TLS_VERIFY=1 volumes: - - jirkabuilds_runner_data:/data - - jirkabuilds_dind_certs:/certs:ro + - runner_data:/data + - dind_certs:/certs:ro networks: - - jirkabuilds_gitea_net - - jirkabuilds_gitea_runner_net + - gitea_net + - gitea_runner_net volumes: - jirkabuilds_dind_certs: - jirkabuilds_dind_data: - jirkabuilds_runner_data: + dind_certs: + dind_data: + runner_data: ``` 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: webhook: build: . - container_name: jirkabuilds_release_web_webhook + container_name: release_web_webhook volumes: - ./hooks.json:/etc/webhook/hooks.json:ro - ./deploy.sh:/app/deploy.sh:ro @@ -243,16 +243,16 @@ services: command: ["-verbose", "-hooks=/etc/webhook/hooks.json", "-hotreload"] restart: unless-stopped networks: - - jirkabuilds_proxy_network + - proxy_network 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`: ``` hooks.jirkabuilds.dev { - reverse_proxy jirkabuilds_release_web_webhook:9000 + reverse_proxy release_web_webhook:9000 } ```