|
|
@ -14,22 +14,22 @@ This repository gathers all the recipes (hence the name "Cookbook") to deploy Op |
|
|
|
|
|
|
|
|
## Available Cookbooks |
|
|
## Available Cookbooks |
|
|
|
|
|
|
|
|
- [base](base/): base configuration for Fedora CoreOS with fastfetch, tmpfiles setup, and QEMU guest agent. |
|
|
- [base](cookbooks/base/): base configuration for Fedora CoreOS with fastfetch, tmpfiles setup, and QEMU guest agent. |
|
|
- [gitea](gitea/): self-hosted Git service, a lightweight GitHub/GitLab alternative. |
|
|
- [gitea](cookbooks/gitea/): self-hosted Git service, a lightweight GitHub/GitLab alternative. |
|
|
- [keycloak](keycloak/): open source identity and access management server with PostgreSQL backend. |
|
|
- [keycloak](cookbooks/keycloak/): open source identity and access management server with PostgreSQL backend. |
|
|
- [lego](lego/): Let's Encrypt/ACME client for automatic SSL/TLS certificate management and renewal. |
|
|
- [lego](cookbooks/lego/): Let's Encrypt/ACME client for automatic SSL/TLS certificate management and renewal. |
|
|
- [miniflux](miniflux/): minimalist RSS/Atom feed reader with PostgreSQL backend. |
|
|
- [miniflux](cookbooks/miniflux/): minimalist RSS/Atom feed reader with PostgreSQL backend. |
|
|
- [nextcloud](nextcloud/): self-hosted file sync and share platform with all its dependencies, handles automated upgrades. |
|
|
- [nextcloud](cookbooks/nextcloud/): self-hosted file sync and share platform with all its dependencies, handles automated upgrades. |
|
|
- [nginx](nginx/): Nginx web server with content initialized and updated from a GIT repository. |
|
|
- [nginx](cookbooks/nginx/): Nginx web server with content initialized and updated from a GIT repository. |
|
|
- [postgresql](postgresql/): PostgreSQL database server with automated major upgrades, periodic backup and restore capabilities. |
|
|
- [postgresql](cookbooks/postgresql/): PostgreSQL database server with automated major upgrades, periodic backup and restore capabilities. |
|
|
- [qemu-user-static](qemu-user-static/): multi-architecture container support using QEMU user-mode emulation. |
|
|
- [qemu-user-static](cookbooks/qemu-user-static/): multi-architecture container support using QEMU user-mode emulation. |
|
|
- [restic-server](restic-server/): REST server backend for restic backups with append-only mode and Prometheus metrics. |
|
|
- [restic-server](cookbooks/restic-server/): REST server backend for restic backups with append-only mode and Prometheus metrics. |
|
|
- [samba](samba/): SMB/CIFS file sharing server for network storage access. |
|
|
- [samba](cookbooks/samba/): SMB/CIFS file sharing server for network storage access. |
|
|
- [seedbox](seedbox/): complete media server stack with Radarr, Sonarr, Lidarr, Prowlarr, qBittorrent, Jellyfin, and FlareSolverr. |
|
|
- [seedbox](cookbooks/seedbox/): complete media server stack with Radarr, Sonarr, Lidarr, Prowlarr, qBittorrent, Jellyfin, and FlareSolverr. |
|
|
- [traefik](traefik/): modern HTTP reverse proxy and load balancer with automatic service discovery. |
|
|
- [traefik](cookbooks/traefik/): modern HTTP reverse proxy and load balancer with automatic service discovery. |
|
|
- [vaultwarden](vaultwarden/): Bitwarden-compatible password manager server with PostgreSQL backend. |
|
|
- [vaultwarden](cookbooks/vaultwarden/): Bitwarden-compatible password manager server with PostgreSQL backend. |
|
|
- [vmagent](vmagent/): Victoria Metrics agent for collecting and forwarding metrics. |
|
|
- [vmagent](cookbooks/vmagent/): Victoria Metrics agent for collecting and forwarding metrics. |
|
|
- [vsftpd](vsftpd/): secure FTP server with TLS support and Let's Encrypt certificate integration. |
|
|
- [vsftpd](cookbooks/vsftpd/): secure FTP server with TLS support and Let's Encrypt certificate integration. |
|
|
|
|
|
|
|
|
## Cookbook layout |
|
|
## Cookbook layout |
|
|
|
|
|
|
|
|
@ -53,6 +53,13 @@ This repository gathers all the recipes (hence the name "Cookbook") to deploy Op |
|
|
- Fedora / CentOS Stream / RHEL or derivative operating system. |
|
|
- Fedora / CentOS Stream / RHEL or derivative operating system. |
|
|
- Systemd |
|
|
- Systemd |
|
|
|
|
|
|
|
|
|
|
|
## End-to-end testing |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
pip install -e . |
|
|
|
|
|
pytest cookbooks/postgresql/tests/ |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
## Development |
|
|
## Development |
|
|
|
|
|
|
|
|
To develop Podman Quadlets, it is advised to create a Fedora Virtual Machine dedicated to this task. |
|
|
To develop Podman Quadlets, it is advised to create a Fedora Virtual Machine dedicated to this task. |
|
|
@ -60,7 +67,7 @@ To develop Podman Quadlets, it is advised to create a Fedora Virtual Machine ded |
|
|
You can create a Fedora Virtual Machine with the following command: |
|
|
You can create a Fedora Virtual Machine with the following command: |
|
|
|
|
|
|
|
|
```sh |
|
|
```sh |
|
|
sudo ./create-dev-vm.sh |
|
|
sudo ./scripts/create-dev-vm.sh |
|
|
``` |
|
|
``` |
|
|
|
|
|
|
|
|
Then, retrieve the IP address of your VM with the following command: |
|
|
Then, retrieve the IP address of your VM with the following command: |
|
|
|