diff --git a/chevereto/README.md b/chevereto/README.md new file mode 100644 index 0000000..9df9322 --- /dev/null +++ b/chevereto/README.md @@ -0,0 +1,22 @@ +# Installation + +``` +git clone https://github.com/atareao/self-hosted.git +cd self-hosted/chevereto +mv sample.env .env +sed -i "s/chevereto.tuservidor.es/el_fqdn_que_quieras/g" .env +``` + +A la hora de levantar el servicio dependerá del proxy inverso que hayas seleccionado. Si has elegido Caddy, simplemente, + +``` +docker-compose -f docker-compose.yml -f docker-compose.caddy.yml up -d +docker-compose logs -f +``` + +Mientras que si has elegido Traefik, + +``` +docker-compose -f docker-compose.yml -f docker-compose.traefik.yml up -d +docker-compose logs -f +``` diff --git a/chevereto/docker-compose.caddy.yml b/chevereto/docker-compose.caddy.yml new file mode 100644 index 0000000..8e58a85 --- /dev/null +++ b/chevereto/docker-compose.caddy.yml @@ -0,0 +1,13 @@ +version: "3.7" + +services: + chevereto: + networks: + - proxy + labels: + - caddy="${FQDN}" + - caddy.reverse_proxy="{{upstreams 80}}" + +networks: + proxy: + external: true diff --git a/chevereto/docker-compose.traefik.yml b/chevereto/docker-compose.traefik.yml new file mode 100644 index 0000000..9e99475 --- /dev/null +++ b/chevereto/docker-compose.traefik.yml @@ -0,0 +1,21 @@ +version: "3.7" + +services: + chevereto: + networks: + - proxy + labels: + - traefik.enable=true + - traefik.http.services.chevereto.loadbalancer.server.port=80 + - traefik.http.routers.chevereto.entrypoints=web + - traefik.http.routers.chevereto.rule=Host(`${FQDN}`) + - traefik.http.middlewares.chevereto-https-redirect.redirectscheme.scheme=websecure + - traefik.http.routers.chevereto.middlewares=chevereto-https-redirect + - traefik.http.routers.chevereto-secure.entrypoints=websecure + - traefik.http.routers.chevereto-secure.rule=Host(`${FQDN}`) + - traefik.http.routers.chevereto-secure.tls=true + - traefik.http.routers.chevereto-secure.tls.certresolver=letsencrypt + +networks: + proxy: + external: true diff --git a/chevereto/docker-compose.yml b/chevereto/docker-compose.yml new file mode 100644 index 0000000..231b2d0 --- /dev/null +++ b/chevereto/docker-compose.yml @@ -0,0 +1,44 @@ +version: "3.7" + +services: + chevereto: + image: ghcr.io/chevereto/chevereto:latest + container_name: chevereto + init: true + restart: unless-stopped + volumes: + - chevereto:/var/www/html/images + networks: + -internal + environment: + CHEVERETO_DB_HOST: mariadb + CHEVERETO_DB_USER: ${DB_USER} + CHEVERETO_DB_PASS: ${DB_PASSWORD} + CHEVERETO_DB_PORT: 3306 + CHEVERETO_DB_NAME: ${DB_NAME} + CHEVERETO_ASSET_STORAGE_TYPE: local + CHEVERETO_ASSET_STORAGE_URL: /images/_assets + CHEVERETO_ASSET_STORAGE_BUCKET: /var/www/html/images/_assets + + mariadb: + image: mariadb + container_name: chevereto_mariadb + restart: always + init: true + environment: + MYSQL_DATABASE: ${DB_NAME} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} + MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + volumes: + - chevereto_mariadb:/var/lib/mysql + networks: + - internal + + +volumes: + chevereto: {} + chevereto_mariadb: {} + +networks: + internal: {} diff --git a/chevereto/sample.env b/chevereto/sample.env new file mode 100644 index 0000000..4945039 --- /dev/null +++ b/chevereto/sample.env @@ -0,0 +1,5 @@ +DB_USER=chevereto_user +DB_PASSWORD=chevereto_password +DB_NAME=cheveretor +DB_ROOT_PASSWORD=chevereto_root_password +FQDN=chevereto.tuservidor.es