c4k-nextcloud/doc/SetupOnHetzner.md

77 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# Setup
## Infrastructure on Hetzner / Aws
For a setup on hetzner / aws we use terraform.
```
resource "aws_s3_bucket" "backup" {
bucket = "backup"
acl = "private"
versioning {
enabled = false
}
tags = {
name = "backup"
Description = "bucket for backups in stage: ${var.stage}"
}
}
resource "hcloud_server" "cloud_09_2021" {
name = "the name"
image = "ubuntu-20.04"
server_type = "cx31"
location = "fsn1"
ssh_keys = ...
lifecycle {
ignore_changes = [ssh_keys]
}
}
resource "aws_route53_record" "v4_neu" {
zone_id = the_dns_zone
name = "cloud-neu"
type = "A"
ttl = "300"
records = [hcloud_server.cloud_09_2021.ipv4_address]
}
output "ipv4" {
value = hcloud_server.cloud_09_2021.ipv4_address
}
```
## k8s minicluster
2023-02-03 11:07:00 +00:00
For k8s installation we use our [provs](https://repo.prod.meissa.de/meissa/provs) with the following configuation:
```
2023-02-03 11:07:00 +00:00
postgres-db-user: "nextcloud"
postgres-db-password: "nextcloud-db-password"
nextcloud-admin-user: "cloudadmin"
nextcloud-admin-password: "cloudpassword"
aws-access-key-id: "aws-id"
aws-secret-access-key: "aws-secret"
restic-password: "restic-password"
```
## kubectl apply c4k-nextcloud
The last step for applying the nextcloud deployment is
```
c4k-nextcloud config.edn auth.edn | kubectl apply -f -
```
with the following config.edn:
```
{:fqdn "the-fqdn-from aws_route53_record.v4_neu"
2021-10-15 08:55:00 +00:00
:nextcloud-data-volume-path "/var/cloud" ;; Volume was configured at dda-k8s-crate, results in a PersistentVolume definition.
:postgres-data-volume-path "/var/postgres" ;; Volume was configured at dda-k8s-crate, results in a PersistentVolume definition.
:restic-repository "s3:s3.amazonaws.com/your-bucket/your-folder"}
```