Clewsy / clews.pro

Mirrored from gitlab.

Home Page:https://gitlab.com/clewsy/clews.pro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

clews.pro

I am slowly removing my dependency on cloud services (google in particular) by self-hosting open alternatives.

Herein lies the docker-compose.yml file with which I establish my personal web site and various web apps under sub-domains.

I use this file with docker-compose to set up the following containers:

Container Name Image Website Description
nginx-proxy nginxproxy/nginx-proxy nginx-proxy Used to reverse-proxy the domain and sub-domains Formerly the image was named jwilder/nginx-proxy.
acme-companion nginxproxy/acme-companion acme-companion Used for automatic Let's Encrypt / ACME domain validation to facilitate encryption of the domain and sub-domains. Formerly named jrcs/letsencrypt-nginx-proxy-companion.
nextcloud /nextcloud Nextcloud My personal nextcloud instance. General file storage.
nextcloud-db linuxserver/mariadb MariaDB The database used by the nextcloud container.
nextcloud-cron rcdailey/nextcloud-cronjob nextcloud-cronjob Used to regularly run the cron.php script for my nextcloud instance.
nextcloud-bu registry.gitlab.com/clewsy/ncbu ncbu Container for syncing the nextcloud data and database for convenient backup access.
collabora collabora/code CODE Integrates with my nextcloud instance to facillitate online, web-based file editing.
navidrome deluan/navidrome Navidrome For streaming music - either via the webui or an f-droid app (I like UltraSonic).
vaultwarden vaultwarden/server vaultwarden My personal password management server (formerly known as bitwardenrs/server).
calibre-web linuxserver/calibre-web calibre-web Web-based ebook library. Uses library/database created and managed with calibre.
php /php php Accessed by nginx containers in order to execute php scripts.
nginx-clews.pro /nginx NGINX Html and css files for my personal web site clews.pro. The html and css for clews.pro is also contained within this repository.
nginx-clews.dev /nginx NGINX Html and css files for my other personal web site clews.dev. The html and css for clews.dev is also contained within this repository.
nginx-clews.tech /nginx NGINX Html and css files for one more personal web site clews.tech. The html and css for clews.tech is also contained within this repository.
watchtower containrrr/watchtower Watchtower Configured to check for updated container images. Will download and run automatically.

I switched from the official mariadb container for the nextcloud database to the linuxserver/mariadb container because the linuxserver.io developers allow you to specify uid and gid - this fixed the errors I encountered when attempting to create physical backups of database files belonging to an unknown user (uid 999).

Another switch I made was the music-streaming service I use. Previously I had airsonic-advanced set up, but I migrated to navidrome which seems more modern and up-to-date.

The nextcloud-bu container (GitLab image: registry.gitlab.com/clewsy/ncbu, Docker Hub image: clewsy/ncbu) is my own project. The source is on gitlab. I tried a few different methods of backing up my nextcloud files and database but eventually decided it would be an ideal project for learning how to create my own docker image. Originally I just hosted the image at Docker Hub, but changes have made it impossible to automate image builds without a paid account. So I now recommend pulling the image from GitLab's container registry.

Also in this repo is a systemd unit file (clews.service). I created this so that docker-compose is run automatically after a reboot of the host machine (just in case the containers were brought down).

The clews.pro/html directory contains the html and css I developed for my personal web site.

clews.pro

About

Mirrored from gitlab.

https://gitlab.com/clewsy/clews.pro


Languages

Language:PHP 69.6%Language:HTML 25.4%Language:Hack 3.4%Language:CSS 1.6%