-
Scott Johnson authoredScott Johnson authored
Technical Documentation
This repo contains technical documentation about the infrastructure of Rising Tide Games. It will expand to include documentation on the implementation of Rising Tide's tech and products.
Infrastructure
Overview
The current Rising Tide infrastructure is mostly hosted on a single machine running docker containers. This server is on its own VLAN and is connected to a Ubiquiti Unifi switch on a 1 Gbps port. The server is assigned a DNS entry that points to a Pi-Hole running on the local network. The network also hosts a Raspberry Pi 4 Wireguard VPN server. Connecting to the Wireguard server allows access to all networks on site.
Hardware
The following is a listing of the hardware used for the Rising Tide infrastructure.
graph TD
A[WAN] --> |1 Gbps - Symmetric| B[Ubiquiti USG]
G[GSuite] --> B
H[DNS] --> |risingtide.games| B
B --> C[Ubiquiti Switch]
C --> D[Pi-Hole DNS]
C --> E[Wireguard VPN]
C --> |VLAN - 1 Gbps| F[Server]
D & E --> F
Server
- AMD Ryzen 3700x
- 64 GB 3600 Mhz DDR4
- 1 TB NVME
- 1 Gbps Intel ethernet
- Arch Linux OS - headless
- 1500VA/1000W UPS
Network
- Ubiquiti USG
- Ubiquiti Switch - 1 Gbps ports
- Raspberry Pi 2 - Pi-Hole DNS
- Raspberry Pi 4b with 1 Gbps ethernet and POE adapter - Wireguard VPN
Software
The following are the software services being run on the server.
graph TD
A[Nginx Reverse Proxy] --> |code.risingtide.games| B[Gitlab]
A --> |risingtide.games| C[Nginx Web Server]
A --> |influxdb.risingtide.games| D[InfluxDB]
A --> |grafana.risingtide.games| E[Grafana]
D --> E
F[Telegraf] --> D
A --> F
G[Gitlab Runners] --> A
H[*.risingtide.games] --> A
B --> I[Webhook]
J[Power Monitor] --> |influxdb.risingtide.games| A
A --> |forums.risingtide.games| K[Discourse]
Docker Services
Docker services are all in a single docker compose file.
- Nginx - Reverse Proxy
- Gitlab - Source control at code.risingtide.games
- Nginx - Web server for risingtide.games
- Gitlab Runners - Continuous Integration/Deployment
- Webhook - Pushes web site updates to live folder
- InfluxDB 2.0 - Time series database
- Telegraf - Collects metrics, formats, and sends them to InfluxDB
- Grafana - Metrics visualization
- Discourse - Community forums
External Docker Services
These docker services are running on machines other than the main server. The reasoning for this is provided below.