There is three (3) docker-compose profiles:
min - without 2 Cluster of Cloudflare WARP proxy, HAProxy proxy balancer, Plausible, Grafana.local - based on min, but with freedium.local exposed hostname, both 80 and 443 ports are exposed, with self-signed TLS certificate.prod - with all services for production.To configure your Freedium instance, follow these steps:
git clone https://codeberg.org/Freedium-cfd/web/ ./freedium-web --depth 1
cd ./freedium-web
cp .env_template .env
Open the .env file and adjust the values as needed for your setup.
sudo docker network create caddy_net
sudo nano /etc/hosts
# or
vim /etc/hosts
# and when you are closed vim, type `:w !sudo tee %` to save file without executing vim in root mode
Add the following line:
127.0.0.1 freedium.local
min profile):sudo docker compose --profile local -f ./docker-compose/docker-compose.yml up
Stopping the services:
sudo docker compose --profile local -f ./docker-compose/docker-compose.yml down
And now you can access local instance of Freedium by opening browser and type https://freedium.local or http://localhost:6752 if you ignored 4th step. There is would be a warning about insecure connection, because we use self-signed TLS certificate. Ignore it.
All production services are running on prod profile. If you use Dockerized reverse proxy, you can specify network caddy_freedium_net with external: true option in networks section of your reverse proxy container. Specify caddy_freedium hostname with port 6752 (or 6753 for Plausible) in your reverse proxy configuration.
As alternative, you can directly change docker-compose configurations to use your reverse proxy. See docker-compose and caddy folders for more details.
translatepy library