Skip to content

Managed by Terraform: nextcloud-setup

Notifications You must be signed in to change notification settings

wasoeki/nextcloud-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nextcloud

export ORG_NAME=$(hostname) #$(pwgen 4 1)
export STACK_NAME=nextcloud
export DOMAIN="${STACK_NAME}.${ORG_NAME}"

echo "mkcd(){ mkdir -p \$1 && cd \$1; };" >> ~/.bashrc
source ~/.bashrc

mkcd "~/srv/${ORG_NAME}/${STACK_NAME}"
git clone https://github.com/wasoeki/nextcloud-setup.git git
podman compose up --detach nextcloud mariadb reverse-proxy

Prerequisites

(Optionnal) Terraform

  • terraform
# Enter root session
sudo -i

# Enter your sudo password
cat > /etc/apt/apt.conf.d/99proxy <<ENDMSG
Acquire::http::proxy::apt.releases.hashicorp.com "$HTTP_PROXY";
Acquire::https::proxy::apt.releases.hashicorp.com "$HTTPS_PROXY";
ENDMSG

# Exit the root session
exit

# Add keyring
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

# Add repo
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

# Install terraform
sudo apt update && sudo apt install terraform

Secrets Manager

Add it to your PATH

export PATH=$PATH:$PWD:/usr/local/bin
sudo install secrets-manager /usr/local/bin/

Github Credentials

Add your creds in env vars to ease management

cat >> ~/.bashrc <<ENDMSG
export GITHUB_USER=me
export GITHUB_TOKEN=ghp_XXXXXXXXXXXXXXXXXXX
ENDMSG
source ~/.bashrc

Creating repository

Using terraform to create the remote Github Project repository

# You must be at the root and go to github/terraform/ in the git repo
rootpath=$(pwd)
cd github/terraform
terraform init
find secrets/ -type f ! -name "*.enc" | xargs -I {} ln -s {} .
# or
# ln -s secrets/variables.tf variables.tf
terraform apply

Creating local git and push to remote

cd $rootpath
rm -rf .git
git init -b dev
git remote add origin https://$GITHUB_USER:$GITHUB_TOKEN@github.com/wasoeki/nextcloud-setup.git
secrets-manager -e
git add .
git add **\.enc -f
git commit -m "init"
git branch --set-upstream-to=origin/dev dev
git pull --rebase
git push --set-upstream origin dev

Decrypting repository

# You must be at the root of the git repo
# Ask a collegue to get the correct passfile inside your /tmp directory
cp /tmp/.nextcloud-setup.secrets.pass .
secrets-manager -d

cd github/terraform
find secrets/ -type f ! -name "*.enc" | xargs -I {} ln -s {} .
# or
# ln -s secrets/variables.tf variables.tf

About

Managed by Terraform: nextcloud-setup

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published