Welcome to my home lab Confluence server 🙌😚!  I'm using this server to host my home lab experiments 👨‍🔬, documentation and learning ✍️.  I initially discovered Confluence via my workplace and thought it was a very nice document writing system.  When I found that Atlassian offered a $10/yr plan 🤩, I immediately bought one and setup this server.  Note:  This is a second reboot of this system.

🏡 Infrastructure

The is a home lab diagram that focuses on the general communications path to reach my on-premises resources from the Internet.  I've rebuilt the infrastructure in various ways and each time it gets simpler, easier and more robust 🤗.

@startuml

actor users as "Internet Users" #White

rectangle cloud_flare as "Cloudflare (tenzin.io)" {

    card internet_dns_names #PaleGreen [
        confluence.tenzin.io
        repo.tenzin.io
        vs.tenzin.io
        radio.tenzin.io
        vault.tenzin.io
    ]
    card firewall_dns_name as "firewall.tenzin.io" #PaleGreen

    database tenzin_io_dns as "tenzin.io"  #PaleGreen
    tenzin_io_dns .. internet_dns_names
    tenzin_io_dns .. firewall_dns_name

}

users --> tenzin_io_dns

rectangle github as "GitHub (tenzin.io)" {
    database github_repo as "GitHub Repos" #violet
    database actions_runner as "GitHub Actions" #violet
    github_repo --> actions_runner
}

rectangle oracle_cloud as "Oracle Cloud Infra (tenzin)" {
    node oci_squid as "oci-squid" #AliceBlue
    node frontend_1 as "frontend-1" #AliceBlue
    node runner_1 as "runner-1" #AliceBlue
    node runner_2 as "runner-2" #AliceBlue
    actions_runner --> runner_1
    actions_runner --> runner_2
}

internet_dns_names --> frontend_1

rectangle home_lab as "Home Lab" #AliceBlue {
    actor home_user as "Home Users" #AliceBlue
    rectangle pfsense as "pfSense Firewall" {
        node firewall as "firewall UI" #Pink
        firewall_dns_name -> firewall
        database tenzin_io_dns_home as "tenzin.io" #AliceBlue
        rectangle home_dns_names #AliceBlue [
            confluence.tenzin.io
            repo.tenzin.io
            vs.tenzin.io
            radio.tenzin.io
            vault.tenzin.io
        ]

        card home_firewall_dns_name as "firewall.tenzin.io" #AliceBlue
        firewall <-- home_firewall_dns_name
        home_dns_names .. tenzin_io_dns_home
        home_firewall_dns_name .. tenzin_io_dns_home
        
    } 
    rectangle vsphere_2 as "vSphere Host" {
        port vsphere_ui as "vSphere UI"
        node confluence as "confluence-1" #AliceBlue
        node repo as "repo-1" #AliceBlue
        node vault as "vault-1" #AliceBlue
        node backend_1 as "backend-1" #AliceBlue

        backend_1 <-- home_dns_names
        backend_1 --> vault
        backend_1 --> repo
        backend_1 --> confluence
        backend_1 -> vsphere_ui

    }

    home_user -> tenzin_io_dns_home
}

cloud tailscale_net as "Tailscale Network" #AliceBlue

frontend_1 --> tailscale_net
oci_squid -- tailscale_net
tailscale_net --> backend_1

legend right
| Color | Type |
|<#AliceBlue>| Home lab|
|<#Pink>| Firewall |
|<#violet>| GitHub|
|<#PaleGreen>| Cloudflare |
endlegend

@enduml

Notes

Host Table

Home lab repositoryhttps://github.com/tenzin-io



HostRepositoryDescription
1frontend-1https://github.com/tenzin-io/frontend
  • Internet access to on-premises hosted applications.
  • An Nginx proxy that sends request to the backend host connected on the Tailscale network.
2backend-1https://github.com/tenzin-io/backend
  • An Nginx proxy will route to the designated upstream server depending on the server_name  that was received.
3repo-1https://github.com/tenzin-io/repo
  • A JFrog Artifactory server (JCR version) that stores artifacts generated by home lab build pipelines.
  • Repository for Docker images, Helm charts and generic blobs.
4confluence-1https://github.com/tenzin-io/confluence
  • This Confluence server!
5vault-1https://vault.tenzin.io
  • A Hashicorp Vault server to store all my home lab secrets 👀.
6oci-squidhttps://github.com/tenzin-io/squid
  • A Squid proxy server on the Tailscale network.
  • I can use Oracle Cloud's Internet gateway for web browser traffic.
7firewallhttps://www.pfsense.org/download
  • pfSense firewall host.
  • Protects the Home Lab.
  • Currently the Home Lab's DNS forwarder and DHCP server.

Services


Access URLService Description
1

https://confluence.tenzin.io

This Confluence server!
2

https://vault.tenzin.io

My Hashicorp Vault server.
3https://firewall.tenzin.io
  • pfSense firewall appliance.
  • Protects the home lab infrastructure.
4https://repo.tenzin.io

JFrog Artifactory server, the JCR version.

  • Repository for Helm charts and Docker images.
  • Repository for generic blob artifacts.
5

https://vs.tenzin.io

VMware vSphere 7 hypervisor to host virtual machines.

Child Pages