# ![«Image: CODE»](images/code-logo.png "CODE") CODE ```{note} [Collabora Online Development Edition (CODE)](https://www.collaboraonline.com/code/) is based on [LibreOffice](https://www.libreoffice.org/). It is designed to provide users with a free version of the online office suite, allowing individuals and small teams to access and test its features. CODE is a valuable resource for those looking to utilize LibreOffice's capabilities in an online collaborative environment. ``` To share a [NextCloud](https://nextcloud.com/) server and CODE server with your Jami contacts, run both servers on your local computer and configure them as custom shared services in your Jami account settings. Once configured, your Jami contacts can connect to your NextCloud and CODE servers to collaboratively edit documents, spreadsheets, and presentations directly through Jami. 1. Download the [nextcloud_collabora.zip](../_static/downloads/nextcloud_collabora.zip) ZIP file and unzip it to reveal its contents. 2. Open a terminal in the unzipped folder. 3. Create your local environment file: ```bash cp .env.example .env ``` 4. Edit `.env` and set strong values for at least: - `MYSQL_ROOT_PASSWORD` - `MYSQL_PASSWORD` - `NEXTCLOUD_ADMIN_PASSWORD` Keep these values unless you have a reason to change them: - `PUBLIC_HOST=localhost` - `EXPOSED_PORT=18080` 5. Start the stack: ```bash docker compose up -d ``` 6. Open `http://localhost:18080` in your browser. 7. Sign in to Nextcloud using the admin credentials from `.env`. 8. In Jami, create a custom shared service with: - **Local host**: `127.0.0.1` - **Local port**: `18080` - **URI scheme**: `http` - **Preferred port on peer**: `18080` 9. Share that service with your contact. 10. Your contact opens your shared service in Jami, then opens `http://localhost:18080` on their machine. 11. Open a document in Nextcloud Files to verify collaborative editing works. ```{tip} Need to reset everything (accounts, files, DB) and start fresh? Run the following in the same folder: ```bash docker compose down -v --remove-orphans docker compose up -d ```