Create a container in proxmox with internal ip 192.168.0.21/24 using ubuntu server.
Enter in proxmox terminal access to the container and make a new user:
adduser <USERNAME>
usermod -aG wheel <USERNAME>
now you can access the container via ssh.
You can install docker in your container using this guide https://docs.docker.com/engine/install/ubuntu/
check docker installation
sudo docker run hello-world
sudo docker compose -h
Clone this repository and change the existing .env file inside the /data directory, change it with the username and password that you want to be the root user of all applications.
install letsencrypt
sudo apt-get install letsencrypt
generate the certificate
sudo certbot certonly --manual --preferred-challenges=dns --email <your@email.com> --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d <your_damain.com> -d *.<your_damain.com>
in my case:
sudo certbot certonly --manual --preferred-challenges=dns --email 'leualemax@gmail.com' --server 'https://acme-v02.api.letsencrypt.org/directory' --agree-tos -d 'alemax.site' -d '*.alemax.site'
you will be prompted with a key to be setted on your dns server in a txt record, pls, test the propagation before hit continue. (testing using this site https://mxtoolbox.com/txtlookup.aspx)
this processe will generate 2 files within the directory /etc/letsencrypt/live// thoose files are used to sign the https call to your sites.
| remember to change the domain names in the proxy configuration files and in the docker-compose files, i've did it with my domain.
First run the base stack with the potainer environment and the reverse proxy containers.
cd base
sudo docker compose up -d
After that you will be able to acess the web interface of potainer with the address, give a try:
https://docker.<your.domain>/
in my case:
https://docker.alemax.site/
the user admin will be the same you set on the .env file.
just run the command inside the git repository
initial user will be 'root', with the password generate in instalation:
sudo docker compose up -d
sudo docker exec -it gitlab-ce grep 'Password:' /etc/gitlab/initial_root_password
cd data
sudo docker compose -f 'nextcloud.yml' up -d
sudo docker compose -f 'nextcloud.yml' exec nextcloud chown -R www-data:www-data /opt/nextcloud/data
Open now the web interface (https://cloud.alemax.site/) of nextcloud and execute their installation process, when you finished, create a folder in root callend photoprism.
After that you can run the apps stack:
sudo docker compose -f 'apps.yml' up -d
sudo docker compose -f 'apps.yml' exec qbittorrent chown -R 911:911 /incomplete
scan new files
sudo docker compose -f 'nextcloud.yml' exec --user www-data nextcloud php occ files:scan --all
add a cron tabb to file sync`
1 * * * * sudo docker compose -f '/home/alemax/home-lab-bahamut/data/nextcloud.yml' exec --user www-data nextcloud php occ files:scan --all
1 * * * * chmod -R 777 /home/alemax/home-lab-bahamut/data/nextcloud/alemax