46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
|
### Quickstart on NixOS with nix 2.4+
|
||
|
[You need to enable the `nix flake` experimental feature](https://nixos.wiki/wiki/Flakes#Installing_flakes)
|
||
|
`nix flake --help` should give you some output, then we're good to go.
|
||
|
|
||
|
```
|
||
|
git clone https://git.b12f.io/pub-solar/infra
|
||
|
cd infra
|
||
|
nix develop --command zsh
|
||
|
```
|
||
|
|
||
|
### terraform provider docs
|
||
|
The following Nextcloud instances were deployed using terraform:
|
||
|
- `nextcloud-web`
|
||
|
- `nextcloud-db`
|
||
|
|
||
|
The Namecheap API was used to create the DNS record for `cloud.pub.solar`.
|
||
|
|
||
|
The Manta backend was used to save the terraform state for collaboration.
|
||
|
|
||
|
https://registry.terraform.io/providers/joyent/triton/latest/docs
|
||
|
https://registry.terraform.io/providers/namecheap/namecheap/latest/docs
|
||
|
https://www.terraform.io/language/settings/backends/manta
|
||
|
|
||
|
### How to use this
|
||
|
*Notice:* For archive purposes, only use this for setting up a new Nextcloud
|
||
|
instance!
|
||
|
|
||
|
Setup your namecheap API credentials
|
||
|
|
||
|
If you didn't already setup the pub_solar `triton` profile for DC `lev-1`,
|
||
|
you'll need to do:
|
||
|
```
|
||
|
triton profile create
|
||
|
```
|
||
|
`tritonshell` should pick up the configured profile and set all required
|
||
|
environment variables for you. Use `ttp env` to check. Then:
|
||
|
|
||
|
```
|
||
|
# using terraform to deploy instances
|
||
|
cd terraform
|
||
|
terraform plan -out nextcloud.plan
|
||
|
terraform apply nextcloud.plan
|
||
|
```
|
||
|
|
||
|
### ansible playbook: nextcloud, php{-fpm,}8, postgresql14, redis, caddy on alpine
|