diff --git a/README.md b/README.md index e24c5f44..fa8045ee 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ just a stock Ubuntu install, some clever Ansible config and a bunch of Docker co * A Dropbox replacement via Nextcloud * Various ways to see stats about your NAS - Glances, dashboards in Grafana * A backup tool - allows scheduled backups to Amazon S3, OneDrive, Dropbox etc -* An IRC bouncer +* An IRC bouncer and web-based client * Source control with Gitea * SSL secured external access to some applications via Traefik * A Docker host with Portainer for image and container management @@ -50,6 +50,7 @@ just a stock Ubuntu install, some clever Ansible config and a bunch of Docker co * [Sonarr](https://sonarr.tv/) - for downloading and managing TV episodes * [Tautulli](http://tautulli.com/) - Monitor Your Plex Media Server * [Telegraf](https://github.com/influxdata/telegraf) - Metrics collection agent +* [The Lounge](https://thelounge.chat) - Web based always-on IRC client * [TimeMachine](https://github.com/mbentley/docker-timemachine) - Mac backup server * [Traefik](https://traefik.io/) - Web proxy and SSL certificate manager * [Transmission](https://transmissionbt.com/) - BitTorrent client (with OpenVPN if you have a supported VPN provider) diff --git a/docs/applications/thelounge.md b/docs/applications/thelounge.md new file mode 100644 index 00000000..9a25330c --- /dev/null +++ b/docs/applications/thelounge.md @@ -0,0 +1,15 @@ +# The Lounge + +Homepage: [https://thelounge.chat/](https://thelounge.chat/) + +The Lounge is a self-hosted web IRC client. + +## Usage + +Set `thelounge_enabled: true` in your `group_vars/all.yml` file. + +The Lounge web interface can be found at http://ansible_nas_host_or_ip:9000. + +## Specific Configuration + +The default username and password is `admin`. Change this once you've logged in! \ No newline at end of file diff --git a/docs/configuration/application_ports.md b/docs/configuration/application_ports.md index 0917bb30..be3a5282 100644 --- a/docs/configuration/application_ports.md +++ b/docs/configuration/application_ports.md @@ -27,6 +27,7 @@ By default, applications can be found on the ports listed below. | Sickrage | 8081 | | | Sonarr | 8989 | | | Tautulli | 8181 | | +| The Lounge | 9000 | | | Traefik | 8083 | | | Transmission | 9091 | with VPN | | Transmission | 9092 | | diff --git a/files/thelounge/users/admin.json b/files/thelounge/users/admin.json new file mode 100644 index 00000000..3e9ecf80 --- /dev/null +++ b/files/thelounge/users/admin.json @@ -0,0 +1,8 @@ +{ + "password": "$2a$11$RczoChslMhXzpgdYV.wAPO45jGSlb6D9x2yaT3d0IDvXvdOwzmenS", + "log": true, + "awayMessage": "", + "networks": [], + "sessions": {}, + "clientSettings": {} +} \ No newline at end of file diff --git a/group_vars/all.yml.dist b/group_vars/all.yml.dist index f6872951..012af345 100644 --- a/group_vars/all.yml.dist +++ b/group_vars/all.yml.dist @@ -57,9 +57,9 @@ nextcloud_enabled: false gitea_enabled: false timemachine_enabled: false -# IRC bouncer +# IRC znc_enabled: false - +thelounge_enabled: false ### ### General @@ -477,7 +477,12 @@ mymediaforalexa_media_directory: "{{ music_root }}" mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa" ### -### jackett +### Jackett ### jackett_available_externally: "false" jackett_data_directory: "{{ docker_home }}/jackett" + +### +### The Lounge +### +thelounge_data_directory: "{{ docker_home }}/thelounge" \ No newline at end of file diff --git a/nas.yml b/nas.yml index ccb85447..9e4caca1 100644 --- a/nas.yml +++ b/nas.yml @@ -59,6 +59,10 @@ when: (transmission_with_openvpn_enabled | default(False)) tags: transmission + - import_tasks: tasks/thelounge.yml + when: (thelounge_enabled | default(False)) + tags: thelounge + - import_tasks: tasks/sonarr.yml when: (sonarr_enabled | default(False)) tags: sonarr diff --git a/tasks/thelounge.yml b/tasks/thelounge.yml new file mode 100644 index 00000000..023985b8 --- /dev/null +++ b/tasks/thelounge.yml @@ -0,0 +1,29 @@ +--- +- name: The Lounge Directories + file: + path: "{{ item }}" + state: directory + with_items: + - "{{ thelounge_data_directory }}" + - "{{ thelounge_data_directory }}/users" + +- name: Set up admin user + copy: + src: files/thelounge/users/admin.json + dest: "{{ thelounge_data_directory }}/users/admin.json" + mode: 0777 + +- name: The Lounge Docker Container + docker_container: + name: thelounge + image: thelounge/thelounge:latest + pull: true + ports: + - "113:9001" + - "9000:9000" + volumes: + - "{{ thelounge_data_directory }}:/var/opt/thelounge" + - "/var/run/dbus:/var/run/dbus" + restart_policy: unless-stopped + memory: 1g + diff --git a/templates/traefik/traefik.toml b/templates/traefik/traefik.toml index bb080781..c0e6d4c2 100644 --- a/templates/traefik/traefik.toml +++ b/templates/traefik/traefik.toml @@ -198,6 +198,7 @@ onDemand = false # create certificate when container is created "sickrage.{{ ansible_nas_domain }}", "sonarr.{{ ansible_nas_domain }}", "tautulli.{{ ansible_nas_domain }}", + "thelounge.{{ ansible_nas_domain }}", "transmission.{{ ansible_nas_domain }}", "transmission-openvpn.{{ ansible_nas_domain }}", "znc.{{ ansible_nas_domain }}"] \ No newline at end of file diff --git a/tests/test.yml b/tests/test.yml index ef10c35c..1cb94a13 100644 --- a/tests/test.yml +++ b/tests/test.yml @@ -56,8 +56,9 @@ nextcloud_enabled: false gitea_enabled: false timemachine_enabled: false -# IRC bouncer +# IRC znc_enabled: false +thelounge_enabled: false ### ### General @@ -480,3 +481,8 @@ mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa" ### jackett_available_externally: "false" jackett_data_directory: "{{ docker_home }}/jackett" + +### +### The Lounge +### +thelounge_data_directory: "{{ docker_home }}/thelounge" \ No newline at end of file