{"id":18174531,"url":"https://github.com/outline/outline-onprem","last_synced_at":"2025-04-06T22:32:15.378Z","repository":{"id":53454119,"uuid":"339275234","full_name":"outline/outline-onprem","owner":"outline","description":"💼 Scripts and utilities for deploying Outline on-premises","archived":false,"fork":false,"pushed_at":"2023-12-20T04:50:22.000Z","size":51,"stargazers_count":18,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-22T07:33:11.692Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outline.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-16T03:32:43.000Z","updated_at":"2024-12-22T22:36:30.000Z","dependencies_parsed_at":"2024-11-02T16:19:35.558Z","dependency_job_id":null,"html_url":"https://github.com/outline/outline-onprem","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outline%2Foutline-onprem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outline%2Foutline-onprem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outline%2Foutline-onprem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outline%2Foutline-onprem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outline","download_url":"https://codeload.github.com/outline/outline-onprem/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563901,"owners_count":20958971,"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":[],"created_at":"2024-11-02T16:03:28.412Z","updated_at":"2025-04-06T22:32:15.086Z","avatar_url":"https://github.com/outline.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/31465/34380645-bd67f474-eb0b-11e7-8d03-0151c1730654.png\" height=\"29\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ci\u003eAn open, extensible, knowledge base for your team.\u003cbr/\u003eTry out Outline using our hosted version at \u003ca href=\"https://www.getoutline.com\"\u003ewww.getoutline.com\u003c/a\u003e.\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n## Outline on-prem\n\nDeploy Outline on-premises to manage all of your data within your own cloud environment. This repository contains all the necessary scripts to install and run the enterprise edition of Outline on-prem. Please refer to the [On Premise Guide](https://wiki.generaloutline.com/share/13dec265-c002-4c73-8025-75981f29b0d0) during installation.\n\n## Simple reference deployment (15-20 min)\n\nIn this guide, we will walk through a simple, straightforward, setup on AWS EC2. Outline comes with images for a Postgres DB instance, as well a Minio for file storage. \n\n**For production deployments, we highly recommend you use something like RDS and S3 for these purposes.** This can be done during the initial install process or configured after setup is complete.\n\n#### Spin up a new EC2 instance:\n1. Choose **Launch Instance** from the EC2 dashboard.\n1. Select Ubuntu. Outline should work on any modern version.\n1. Select an instance type of `t2.small` or higher.\n1. Set the network security groups for ports `22`, `80`, `443`, and `3000`. Set sources set to `0.0.0.0/0` and `::/0`, and click **Review and Launch**. \u003cimg width=\"1420\" alt=\"sshscreen\" src=\"https://user-images.githubusercontent.com/427579/110394638-9eb6fa80-8021-11eb-9b2e-c0574d185a45.png\"\u003e\n1. On the next screen, click **Launch** to start your instance.\n\n#### Set up your DNS and other services:\n1. Before proceeding, go to your DNS provider and provision a subdomain where you would like to locate your Outline instance. For example `wiki.mycompany.com`. Point this subdomain at the public IPv4 address of your EC2 instance. \n1. If you're planning on using a managed database and file storage (like RDS and S3), this would be a good time to provision those as well:\n    1. Our [setup guide for S3](https://wiki.generaloutline.com/share/13dec265-c002-4c73-8025-75981f29b0d0/doc/aws-s3-N4M0T6Ypu7)\n    1. Our [setup guide for RDS](https://wiki.generaloutline.com/share/13dec265-c002-4c73-8025-75981f29b0d0/doc/aws-rds-etUZYyP2jV)\n\n#### Configure your EC2 instance and start Outline:\n1. From your command line tool, SSH into your EC2 instance. You will need to clone this repository into your instance, so we recommend you use [SSH agent forwarding](https://docs.github.com/en/developers/overview/using-ssh-agent-forwarding)\n1. Clone this repo on your instance: `git clone git@github.com:outline/outline-onprem.git`.\n1. Go into the cloned repo directory: `cd outline-onprem`.\n1. Run `./install.sh`. This will install **Docker** and **Docker Compose**, and initialize some configuration files to be edited later.\n1. Follow the instruction prompts. You will be asked to provide your provisioned subdomain at the end of this process.\n1. Run `sudo docker-compose pull` to download images.\n1. Open the configuration file `docker.env` and add your **license key** as the value for the variable `LICENSE_KEY`. If you don't yet have a key because you're setting up a proof-of-concept or a trial, set the value to `trial`.\n1. **If you are using your own database and/or file storage**, open `docker.env` and modify the Postgres and S3 related configuration values.\n1. Run `./database-setup.sh` to initialize your database.\n1. Now you're read to start your Outline server with: `sudo docker-compose up -d`.\n1. Navigate to your server's address in a web browser. You will see a login screen with a placeholder Slack authentication method. \n1. To configure authentication for your org, open `docker.env` and add your keys there for the identity providers you will be using.\n\n## Customizing your install\n\nConfiguration for your installation of Outline is located in `docker.env`. Here, you can set up authentication (SSO and SAML), database, and file storage.\n\nIf you are using your own database and file storage, you can optimize your install footprint by modifying `docker-compose.yml` and removing the dependencies on `postgres` and `minio`.\n\n## Configuring SAML\n\nAdding SAML to your outline install is a simple configuration change. Open `docker.env` and modify `SAML_SSO_ENDPOINT` and `SAML_CERT` to values provided by your IdP. \n\nFor an example setup guide using One Login, see the article below:\n- [One Login Setup](https://wiki.generaloutline.com/share/13dec265-c002-4c73-8025-75981f29b0d0/doc/onelogin-setup-hCmJIfmAjt)\n\n---\n\n## Updating your instance\n\nWhen there is patch or an update available for Outline, you can apply the updates to your instance by stopping your server and running the included update script: `./update.sh`. We recommend backing up your database before updating.\n\n## Docker reference\n\nBelow is a list of common Docker commands. Note that you may need to prefix with `sudo`, depending on your setup \n\n| Command                     | Description                                                                                                                     \n| ----------------------------|-------------------------------------------------------------------------------------------------------------------------------| \n| `docker-compose up -d`      | Starts containers `-d` means \"detached\", so containers continue to run in the background.                                     | \n| `docker-compose down`       | Stops containers                                                                                                              |\n| `docker-compose logs -f`    | Stream all container logs to stdout                                                                                           |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutline%2Foutline-onprem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foutline%2Foutline-onprem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foutline%2Foutline-onprem/lists"}