diff --git a/compose/wallabag/.env b/compose/wallabag/.env new file mode 100644 index 0000000..fc9f518 --- /dev/null +++ b/compose/wallabag/.env @@ -0,0 +1,6 @@ +SYMFONY__ENV__DATABASE_NAME= +SYMFONY__ENV__DATABASE_USER= +SYMFONY__ENV__DATABASE_PASSWORD= +SYMFONY__ENV__DOMAIN_NAME= +SYMFONY__ENV__SERVER_NAME= +MYSQL_ROOT_PASSWORD= \ No newline at end of file diff --git a/compose/wallabag/docker-compose.yml b/compose/wallabag/docker-compose.yml new file mode 100644 index 0000000..a55d5eb --- /dev/null +++ b/compose/wallabag/docker-compose.yml @@ -0,0 +1,56 @@ +# run after running compose file: $ docker exec -t NAME_OR_ID_OF_YOUR_WALLABAG_CONTAINER /var/www/wallabag/bin/console wallabag:install --env=prod --no-interaction + +networks: + backend: + external: true + frontend: + external: true + +services: + wallabag: + image: wallabag/wallabag + security_opt: + - apparmor:unconfined + container_name: Wallabag + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql + - SYMFONY__ENV__DATABASE_HOST=mariadb + - SYMFONY__ENV__DATABASE_PORT=3306 + - SYMFONY__ENV__DATABASE_NAME=${SYMFONY__ENV__DATABASE_NAME} + - SYMFONY__ENV__DATABASE_USER=${SYMFONY__ENV__DATABASE_USER} + - SYMFONY__ENV__DATABASE_PASSWORD=${SYMFONY__ENV__DATABASE_PASSWORD} + - SYMFONY__ENV__DATABASE_CHARSET=utf8mb4 + - SYMFONY__ENV__DOMAIN_NAME=${SYMFONY__ENV__DOMAIN_NAME} + - SYMFONY__ENV__SERVER_NAME=${SYMFONY__ENV__SERVER_NAME} + - SYMFONY__ENV__FOSUSER_CONFIRMATION=false + - SYMFONY__ENV__TWOFACTOR_AUTH=true + labels: + - traefik.enable=true + - traefik.http.routers.wallabag.entrypoints=websecure + - traefik.http.routers.wallabag.rule=Host(`example.domain.com`) #change hostname + - traefik.http.routers.wallabag.tls=true + - traefik.http.routers.wallabag.tls.certresolver=production + - traefik.http.routers.wallabag.middlewares=authentik@file + - traefik.http.routers.wallabag.service=wallabag + - traefik.http.services.wallabag.loadBalancer.server.port=80 + ports: + - 6749:80 + networks: + - backend + - frontend + volumes: + - /docker/appdata/wallabag/images:/var/www/wallabag/web/assets/images:rw + - /docker/appdata/wallabag/data:/var/www/wallabag/data:rw + depends_on: + - redis + + redis: + image: redis:alpine + security_opt: + - apparmor:unconfined + container_name: Wallabag-REDIS + networks: + - backend + restart: unless-stopped \ No newline at end of file