{"id":23564709,"url":"https://github.com/mickaelbaron/mysharelatexmanager","last_synced_at":"2026-04-11T18:02:57.327Z","repository":{"id":188443588,"uuid":"623500857","full_name":"mickaelbaron/mysharelatexmanager","owner":"mickaelbaron","description":"MySharelatexManager is an UI tool to manage users and projects for Overleaf/ShareLaTex self hosted instances (Community edition)","archived":false,"fork":false,"pushed_at":"2023-04-04T14:20:57.000Z","size":2335,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T16:37:07.456Z","etag":null,"topics":["docker","java","javascript","npm","overleaf","sharelatex","vuejs3"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mickaelbaron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-04-04T13:51:11.000Z","updated_at":"2024-04-01T02:41:58.000Z","dependencies_parsed_at":"2023-08-15T11:24:25.237Z","dependency_job_id":null,"html_url":"https://github.com/mickaelbaron/mysharelatexmanager","commit_stats":null,"previous_names":["mickaelbaron/mysharelatexmanager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickaelbaron%2Fmysharelatexmanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickaelbaron%2Fmysharelatexmanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickaelbaron%2Fmysharelatexmanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mickaelbaron%2Fmysharelatexmanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mickaelbaron","download_url":"https://codeload.github.com/mickaelbaron/mysharelatexmanager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254469710,"owners_count":22076531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","java","javascript","npm","overleaf","sharelatex","vuejs3"],"created_at":"2024-12-26T17:17:20.469Z","updated_at":"2026-04-11T18:02:57.230Z","avatar_url":"https://github.com/mickaelbaron.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MySharelatexManager\n\nMySharelatexManager is an UI tool to manage users and projects for Overleaf/ShareLaTex self hosted instances (Community edition). Only data (`users` and `projects` collections) from Mongo database are required.\n\n\u003e **Disclaimer**: MyShareLatexManager is a personnal tool hosted to my Github account. There is no affiliation with the company that publishes Overleaf/Sharelatex, it's completely unofficial. Any issues related to the MyShareLatexManager tool should be reported on the MyShareLatexManager repository : [github.com/mickaelbaron/mysharelatexmanager](https://github.com/mickaelbaron/mysharelatexmanager).\n\nMain functionnal features supported by MyShareLatexManager:\n\n* List all users,\n* Edit user,\n* Transfert owner projects to other one,\n* Remove user as collaberator to all projects,\n* List all projects,\n* Edit project.\n\nTechnicals concepts with MyShareLatexManager:\n\n* front-end in [Vue.js](https://vuejs.org/), [Vite.js](https://vitejs.dev/), ([PrimeVue](https://primevue.org/) and [Boostrap](https://getbootstrap.com/)),\n* back-end in Java 11 with the [MicroProfile](https://microprofile.io/) specifications and [KumuluzEE](https://ee.kumuluz.com/) implementation (JAX-RS and CDI),\n* using the given/when/then style for Java unit test,\n* full build with [Docker](https://www.docker.com/),\n* deployement with [Docker](https://www.docker.com/).\n\n## Software requirements\n\n* [Docker](https://www.docker.com/) (that's all)\n\nMySharelatexManager building and deployement have been tested on:\n\n* macOS Ventura (with DockerDesktop),\n* Linux Ubuntu 20.04.01\n\nIn fact, all operating systems that support [Docker](https://www.docker.com/) can build and test MySharelatexManager.\n\n## Screenshots\n\n* Login\n\n![Login](./images/mysharelatexmanager_login.png)\n\n* Display all users\n\n![All Users](./images/mysharelatexmanager_users.png)\n\n* Edit the user parameters\n\n![User Edition](./images/mysharelatexmanager_usededition.png)\n\n* Transfert the owner projects\n\n![Transfert Owner Projects](./images/mysharelatexmanager_transfertownerprojects.png)\n\n* Remove collaberator confirmation\n\n![Remove Collaberator Confirmation](./images/mysharelatexmanager_removecollaberatorconfirmation.png)\n\n* Display all projects\n\n![All Projects](./images/mysharelatexmanager_projects.png)\n\n* Edit the project parameters\n\n![Project Edition](./images/mysharelatexmanager_projectedition.png)\n\n## Build MysharelatexManager\n\n### Configure before\n\nIn the case you do not need a subpath, go to the next section.\n\n* If you want to use a subpath to deploy MySharelatexManager (i.e. \u003chttp://localhost/YOUR_SUBPATH\u003e), edit the *mysharelatexmanager/mysharelatexmanager-rp/subpath.conf* file and replace all the `YOUR_SUBPATH` strings by your preferred value (i.e. `mysharelatexmanager`).\n\n```yaml\nserver {\n    listen 80;\n\n    location /YOUR_SUBPATH/server/ {\n        proxy_pass http://backend:9991/;\n        proxy_http_version 1.1;\n        proxy_set_header Connection \"\";\n    }\n\n    location /YOUR_SUBPATH/ {\n        rewrite ^/YOUR_SUBPATH(/.*)$ $1 break;\n        proxy_pass http://frontend;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_cache_bypass $http_upgrade;\n    }\n}\n```\n\n* Edit the *mysharelatexmanager/mysharelatexmanager-vuejs/.env.subpath* file and replace all the `YOUR_SUBPATH` strings by your chosen value (i.e. `mysharelatexmanager`).\n\n```properties\nVITE_APP_SERVER_URL = /YOUR_SUBPATH/server\nVITE_APP_SUBPATH = /YOUR_SUBPATH/\nNODE_ENV = production\n```\n\n### Build\n\n* To build without subpath: \u003chttps://localhost\u003e, execute this command line:\n\n```console\n$ docker compose build --build-arg script_name=build\n```\n\n* To build with subpath: \u003chttp://localhost/YOUR_SUBPATH\u003e, execute this command line:\n\n```console\n$ docker compose build  --build-arg script_name=subpath\n```\n\n* To check if the images are been built, execute this command line:\n\n```console\n$ docker images\nREPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE\nmysharelatexmanager/rp         latest              48030aad5995        3 seconds ago       20.4MB\nmysharelatexmanager/server     latest              d8456b59f4f3        28 minutes ago      185MB\nmysharelatexmanager/vuejs      latest              8c5b713e6b83        3 hours ago         22.8MB\n...\n```\n\n## Run MysharelatexManager\n\n### Configure before\n\nWe suppose Sharelatex/Overleaf is deployed by [Docker](https://www.docker.com/) and a Docker network is existing (Docker network is used for communicating between containers).\n\n* Edit the *mysharelatexmanager/docker-compose.yml* file and match the name of Sharelatex network you use (`name: sharelatexnetwork`).\n\n```yaml\n...\nnetworks:\n  mysharelatexmanagernetwork:\n  sharelatexnetwork:\n    external:\n      name: sharelatexnetwork\n```\n\n* We suppose that `Sharelatex` network is already existing, create a Docker network for MySharelatexManager called `mysharelatexmanagernetwork`\n\n```console\n$ docker network create mysharelatexmanagernetwork\n```\n\n### Run\n\n* From the root of the project, execute this command line:\n\n```console\n$ docker compose up -d\n```\n\n* Open the \u003chttp://localhost\u003e (without subpath) or \u003chttp://localhost/YOUR_SUBPATH\u003e (with a subpath) URL with your favorite web browser.\n\n## Bonus (to have a local Overleaf/Sharelatex database)\n\nIn this section, we present how to test MySharelatexManager with a dataset (without install a full instance of Overleaf/Sharelatex). Only, MongoDB will be installed by Docker. We suppose you have an existing instance of Overleaf/Sharelatex in production.\n\n* From the server where Overleaf/Sharelatex is running, extract the dataset.\n\n```console\n$ docker run --rm --network sharelatexnetwork -v $(pwd)/mongodump:/backup mongo:4.4.19 bash -c 'mongodump -d sharelatex --gzip --archive=/backup/sharelatex-dump.gz --host sharelatex-mongodb:27017'\n```\n\n\u003e Please, adapt the version of MongoDB Docker image.\n\nThe result of this extraction will be available into the *mongodump* directory. Copy the *mongodump* directory to your computer.\n\nFrom your computer (where you want to test MysharelatexManager), create an empty instance of MongoDB database.\n\n```console\n$ docker network create sharelatexnetwork # Optional if this Docker network is existing\n$ docker run --name sharelatex-mongodb -p 27017:27017 --network sharelatexnetwork -d mongo:4.4.19\n```\n\nFrom the *mongodump* directory location, import the content\n\n```console\n$ docker run --rm --network sharelatexnetwork -v $(pwd):/backup mongo:4.4.19 bash -c 'mongorestore /backup --gzip --archive=/backup/sharelatex-dump.gz --noIndexRestore --host sharelatex-mongodb:27017'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmickaelbaron%2Fmysharelatexmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmickaelbaron%2Fmysharelatexmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmickaelbaron%2Fmysharelatexmanager/lists"}