94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Minio Guide for HedgeDoc
 | |
| 
 | |
| *Note:* This guide was written before the renaming. Just replace `HackMD` with `HedgeDoc` in your mind :smile: thanks!
 | |
| 
 | |
| 1. First of all you need to setup Minio itself.
 | |
| 
 | |
|    Please refer to the [official Minio docs](https://docs.minio.io/) for an
 | |
|    production setup.
 | |
| 
 | |
|    For checking it out and development purposes a non-persistent setup is enough:
 | |
|    ```sh
 | |
|    docker run --name test-minio --rm -d -p 9000:9000 minio/minio server /data
 | |
|    ```
 | |
| 
 | |
|    *Please notice this is not for productive use as all your data gets lost
 | |
|    when you stop this container*
 | |
| 
 | |
| 2. Next step is to get the credentials form the container:
 | |
| 
 | |
|    ```sh
 | |
|    docker logs test-minio
 | |
|    ```
 | |
| 
 | |
|    
 | |
| 
 | |
| 3. Open <http://localhost:9000> and login with the shown credentials.
 | |
| 
 | |
|    
 | |
| 
 | |
| 4. Create a bucket for HedgeDoc
 | |
| 
 | |
|    
 | |
| 
 | |
| 5. Add a policy for the prefix `uploads` and make it read-only.
 | |
| 
 | |
|    
 | |
|    *Open policy editor*
 | |
| 
 | |
|    
 | |
|    *Add policy for uploads*
 | |
| 
 | |
| 6. Set credentials and configs for Minio in HedgeDoc's `config.json`
 | |
| 
 | |
|    ```JSON
 | |
|    "minio": {
 | |
|      "accessKey": "888MXJ7EP4XXXXXXXXX",
 | |
|      "secretKey": "yQS2EbM1Y6IJrp/1BUKWq2/XXXXXXXXXXXXXXX",
 | |
|      "endPoint": "localhost",
 | |
|      "port": 9000,
 | |
|      "secure": false
 | |
|    }
 | |
|    ```
 | |
|    *You have to use different values for `endpoint` and `port` for a production
 | |
|    setup. Keep in mind the `endpoint`-address has to be public accessible from
 | |
|    your browser.*
 | |
| 
 | |
| 7. Set bucket name
 | |
| 
 | |
|    ```JSON
 | |
|    "s3bucket": "hedgedoc"
 | |
|    ```
 | |
| 
 | |
| 8. Set upload type.
 | |
| 
 | |
|    ```JSON
 | |
|    "imageuploadtype": "minio"
 | |
|    ```
 | |
| 
 | |
| 9. Review your config.
 | |
| 
 | |
|    ```json
 | |
|    {
 | |
|      // all your other config…
 | |
|      "minio": {
 | |
|        "accessKey": "888MXJ7EP4XXXXXXXXX",
 | |
|        "secretKey": "yQS2EbM1Y6IJrp/1BUKWq2/XXXXXXXXXXXXXXX",
 | |
|        "endPoint": "localhost",
 | |
|        "port": 9000,
 | |
|        "secure": false
 | |
|      },
 | |
|      "s3bucket": "hedgedoc",
 | |
|      "imageuploadtype": "minio"
 | |
|    }
 | |
|    ```
 | |
| 
 | |
| 10. If you were using filesystem before
 | |
| 
 | |
| and you want to migrate assets to minio.
 | |
| 
 | |
| You could use a convenience script located in `bin/migrate_from_fs_to_minio`.
 | |
| 
 | |
| Be careful, read carefully what it does, it was not tested in all environments.
 | |
| 
 | |
| Take it as an inspiration to make your own migration script. |