Contains the Concourse pipeline definition for building a line-server container
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
3.7 KiB

9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
  1. Linx Server
  2. ======
  3. [![Build Status](https://travis-ci.org/andreimarcu/linx-server.svg?branch=master)](https://travis-ci.org/andreimarcu/linx-server)
  4. Soon-to-be opensource replacement of Linx (media-sharing website)
  5. **Consider it in pre-alpha development stages.**
  6. Get release and run
  7. -------------------
  8. 1. Grab the latest binary from the [releases](https://github.com/andreimarcu/linx-server/releases)
  9. 2. Run ```./linx-server...```
  10. Command-line options
  11. --------------------
  12. - ```-bind 127.0.0.1:8080``` -- what to bind to (default is 127.0.0.1:8080)
  13. - ```-sitename myLinx``` -- the site name displayed on top (default is linx)
  14. - ```-siteurl "http://mylinx.example.org/"``` -- the site url (for generating links)
  15. - ```-filespath files/"``` -- Path to store uploads (default is files/)
  16. - ```-metapath meta/``` -- Path to store information about uploads (default is meta/)
  17. - ```-maxsize 4294967296``` maximum upload file size in bytes (default 4GB)
  18. - ```-certfile path/to/your.crt``` -- Path to the ssl certificate (required if you want to use the https server)
  19. - ```-keyfile path/to/your.key``` -- Path to the ssl key (required if you want to use the https server)
  20. - ```-contentsecuritypolicy "..."``` -- Content-Security-Policy header for pages (default is "default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; referrer none;")
  21. - ```-filecontentsecuritypolicy "..."``` -- Content-Security-Policy header for files (default is "default-src 'none'; img-src 'self'; object-src 'self'; media-src 'self'; sandbox; referrer none;"")
  22. - ```-xframeoptions "..." ``` -- X-Frame-Options header (default is "SAMEORIGIN")
  23. - ```-remoteuploads``` -- (optionally) enable remote uploads (/upload?url=https://...)
  24. - ```-fastcgi``` -- (optionally) serve through fastcgi
  25. - ```-nologs``` -- (optionally) disable request logs in stdout
  26. Deployment
  27. ----------
  28. #### 1. Using fastcgi
  29. A suggested deployment is running nginx in front of linx-server serving through fastcgi.
  30. This allows you to have nginx handle the TLS termination for example.
  31. An example configuration:
  32. ```
  33. server {
  34. ...
  35. server_name yourlinx.example.org;
  36. ...
  37. client_max_body_size 4096M;
  38. location / {
  39. proxy_set_header X-Real-IP $remote_addr;
  40. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  41. fastcgi_pass 127.0.0.1:8080;
  42. include fastcgi_params;
  43. }
  44. }
  45. ```
  46. And run linx-server with the ```-fastcgi``` option.
  47. #### 2. Using the built-in https server
  48. Run linx-server with the ```-certfile path/to/cert.file``` and ```-keyfile path/to/key.file``` options.
  49. #### 3. Using the built-in http server
  50. Run linx-server normally.
  51. Development
  52. -----------
  53. Any help is welcome, PRs will be reviewed and merged accordingly.
  54. The official IRC channel is #linx on irc.oftc.net
  55. 1. ```go get -u github.com/andreimarcu/linx-server ```
  56. 2. ```cd $GOPATH/src/github.com/andreimarcu/linx-server ```
  57. 3. ```go build && ./linx-server```
  58. TODO
  59. ----
  60. Please refer to the [main TODO issue](https://github.com/andreimarcu/linx-server/issues/1)
  61. License
  62. -------
  63. Copyright (C) 2015 Andrei Marcu
  64. This program is free software: you can redistribute it and/or modify
  65. it under the terms of the GNU General Public License as published by
  66. the Free Software Foundation, either version 3 of the License, or
  67. (at your option) any later version.
  68. This program is distributed in the hope that it will be useful,
  69. but WITHOUT ANY WARRANTY; without even the implied warranty of
  70. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  71. GNU General Public License for more details.
  72. You should have received a copy of the GNU General Public License
  73. along with this program. If not, see <http://www.gnu.org/licenses/>.
  74. Author
  75. -------
  76. Andrei Marcu, http://andreim.net/