[DOCUMENTATION] Added install documentation
This commit is contained in:
parent
8a86c5940d
commit
0620d9a726
@ -1,7 +0,0 @@
|
||||
|
||||
Make sure to set the permissions of this folder to group and group 82, as that's what php-fpm uses
|
||||
|
||||
# groupadd -g 82 www-data
|
||||
# useradd -u 82 -g 82 -r -s /usr/bin/nologin www-data
|
||||
# chown $USER:www-data social file public public/install.php public/index.php
|
||||
# chmod -R g=wrx social file public public/install.php public/index.php
|
1
DOCUMENTATION/install.md
Symbolic link
1
DOCUMENTATION/install.md
Symbolic link
@ -0,0 +1 @@
|
||||
../INSTALL.md
|
75
INSTALL.md
Normal file
75
INSTALL.md
Normal file
@ -0,0 +1,75 @@
|
||||
## GNU social
|
||||
|
||||
GNU social is a federated social network.
|
||||
|
||||
Installation can be done in multiple ways, but the simplest is using
|
||||
`docker` and `docker-compose`. The compose file currently includes all
|
||||
the necessary services for running the app. Running the database and
|
||||
webserver outside of `docker` containers is currently not supported,
|
||||
unless the app is installed without `docker`.
|
||||
|
||||
## With docker
|
||||
|
||||
### Requirements
|
||||
|
||||
In order to host your GNU social instance, you'll need a domain, a
|
||||
server with a constant IP and `docker` and `docker-compose` installed
|
||||
on your system.
|
||||
|
||||
Alternatively, for local hosting or development, behind a NAT, use a
|
||||
dynamic DNS solutions. I recommend you go to
|
||||
https://gnudip.datasystems24.net or another GnuDIP host and register.
|
||||
Then clone https://notabug.org/someonewithpc/gnudip.git, inspect and
|
||||
run the `./install.sh` script. This allows you to have a domain that
|
||||
dynamically points to your IP address.
|
||||
|
||||
### TLS/SSL
|
||||
|
||||
Next, if you want to setup SSL (which you should in most cases,
|
||||
exceptions being wanting to use the Thor network), you'll need a
|
||||
certificate. There are multiple approaches to achieve this, among
|
||||
which are using a proxy server capable of either proxying an HTTP
|
||||
connection to HTTPS or an HTTPS connection to HTTPS, or creating a
|
||||
certificate signed by Let's Encrypt. For the former, follow the
|
||||
instructions of your proxy provider.
|
||||
|
||||
If you're not using a proxy, you can use the
|
||||
`bin/bootstrap_certificates` script to generate and install
|
||||
certificates signed by Let's Encrypt. To do this, you should add the
|
||||
server's IP (even if it's dynamic) as an `A` DNS record with your DNS
|
||||
provider (normally, your domain registrar). The `A` record doesn't
|
||||
need to be at the root of your domain, meaning it's name can be a
|
||||
subdomain. Then, run the aforementioned script and fill in the
|
||||
details; this requires `docker` and `docker-compose` and will create
|
||||
the requested certificate.
|
||||
|
||||
After doing the above, if you don't have a static IP, go to your DNS
|
||||
manager, delete the `A` record you created in the previous step and
|
||||
create a `CNAME` record pointing from the domain you want to use the
|
||||
domain you registered with the GnuDIP host.
|
||||
|
||||
### No TLS/SSL
|
||||
|
||||
Edit the `docker-compose.yaml` file and comment the `certbot` service
|
||||
to disable it. In the future, this will be handled by the
|
||||
`bin/configure` script.
|
||||
|
||||
### Configuration
|
||||
|
||||
Run the `bin/configure` script and enter the information as asked.
|
||||
This will generate all the required `.env` files used by
|
||||
`docker-compose` to configure the application.
|
||||
|
||||
### Installation/Running
|
||||
|
||||
Simply run `docker-compose up` from the root of the project (the
|
||||
folder where the `.git` folder is). In this form, the application can
|
||||
be stopped by pressing `C-c` (`CTRL` + `C`); pressing it again will
|
||||
force the containers to stop immediately. However, this form will show
|
||||
you all logs, but in most cases, you won't want to see those all the
|
||||
time. For that, run `docker-compose up -d` from the same directory;
|
||||
The application can then be stopped with `docker-compose down`.
|
||||
|
||||
## Without docker
|
||||
|
||||
Coming soon (TM)
|
Loading…
Reference in New Issue
Block a user