add: GoToSocial (#422)

* add: GoToSocial

* Update ENVs

* Fix Bol

* Update Description and Revert Version

* Update Description and Info
This commit is contained in:
DrMxrcy 2023-05-01 22:57:04 -04:00 committed by GitHub
parent db09ba81a1
commit 92a6c09573
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 183 additions and 0 deletions

View File

@ -0,0 +1,73 @@
{
"$schema": "../schema.json",
"name": "GoToSocial",
"port": 8188,
"available": true,
"exposable": true,
"force_expose": true,
"id": "gotosocial",
"tipi_version": 1,
"version": "0.8.1",
"categories": ["social"],
"description": "Fast, fun, ActivityPub server, powered by Go.",
"short_desc": "Fast, fun, ActivityPub server, powered by Go.",
"author": "superseriousbusiness",
"source": "https://github.com/superseriousbusiness/gotosocial",
"form_fields": [
{
"type": "random",
"label": "GoToSocial DB Password",
"min": 32,
"env_variable": "GTS_DB_PASSWORD"
},
{
"label": "Sign Ups",
"type": "text",
"required": true,
"options": [
{ "label": "Open Sign Up", "value": "true" },
{ "label": "Invite Only", "value": "false" }
],
"env_variable": "GTS_ACCOUNTS_REGISTRATION_OPE"
},
{
"type": "text",
"label": "SMTP Host",
"hint": "Your SMTP Server",
"placeholder": "smtp.example.com",
"required": true,
"env_variable": "GTS_SMTP_HOST"
},
{
"type": "text",
"label": "SMTP Port",
"hint": "Your SMTP Port",
"placeholder": "25",
"required": true,
"env_variable": "GTS_SMTP_PORT"
},
{
"type": "text",
"label": "SMTP Username",
"hint": "Your SMTP Server User/Username",
"placeholder": "noreply@example.com",
"required": true,
"env_variable": "GTS_SMTP_USERNAME"
},
{
"type": "text",
"label": "SMTP Password",
"hint": "Your SMTP Server Password",
"required": true,
"env_variable": "GTS_SMTP_PASSWORD"
},
{
"type": "text",
"label": "SMTP From Address",
"hint": "Make sure the Format is like noreply@example.com",
"placeholder": "noreply@example.com",
"required": true,
"env_variable": "GTS_SMTP_FROM"
}
]
}

View File

@ -0,0 +1,52 @@
version: "3"
services:
gotosocial:
container_name: gotosocial
image: superseriousbusiness/gotosocial:0.8.1
user: 1000:1000
ports:
- ${APP_PORT}:8080
volumes:
- ${APP_DATA_DIR}/data/gotosocial:/gotosocial/storage
depends_on:
- gotosocial-db
environment:
- GTS_HOST=${APP_DOMAIN}
- GTS_LETSENCRYPT_ENABLED=false
- GTS_DB_TYPE=postgres
- GTS_DB_ADDRESS=gotosocial-db
- GTS_DB_PORT=5432
- GTS_DB_USER=tipi
- GTS_DB_PASSWORD=${GTS_DB_PASSWORD}
- GTS_DB_DATABASE=gotosocial-db
- GTS_ACCOUNTS_REGISTRATION_OPEN=${GTS_ACCOUNTS_REGISTRATION_OPEN}
- GTS_SMTP_HOST=${GTS_SMTP_HOST}
- GTS_SMTP_PORT=${GTS_SMTP_PORT}
- GTS_SMTP_USERNAME=${GTS_SMTP_USERNAME}
- GTS_SMTP_PASSWORD=${GTS_SMTP_PASSWORD}
- GTS_SMTP_FROM=${GTS_SMTP_FROM}
restart: unless-stopped
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
traefik.http.routers.gotosocial.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.gotosocial.entrypoints: websecure
traefik.http.routers.gotosocial.service: gotosocial
traefik.http.routers.gotosocial.tls.certresolver: myresolver
traefik.http.services.gotosocial.loadbalancer.server.port: 8080
gotosocial-db:
container_name: gotosocial-db
image: postgres:14
environment:
POSTGRES_PASSWORD: ${GTS_DB_PASSWORD}
POSTGRES_USER: tipi
POSTGRES_DB: gotosocial-db
PG_DATA: /var/lib/postgresql/data
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
restart: unless-stopped
networks:
- tipi_main_network

View File

@ -0,0 +1,58 @@
# Installation Docs
### To Create your user
1. SSH into your Tipi Server
2. Fill in your credentials (some_username,someone@example.org, some_very_good_password), then run the command:
```
docker exec -it gotosocial /gotosocial/gotosocial admin account create --username some_username --email someone@example.org --password 'some_very_good_password'
```
### To promote the initial user (or any user) to admin:
1. SSH into your Tipi Server
2. Fill in your credentials (some_username), then run the command:
```
docker exec -it gotosocial /gotosocial/gotosocial admin account promote --username some_username
```
3. Go Back To your WebUI, Stop and Start your instance.
4. Go to yourdomain.com/settings and you will be able to see personal and instance settings!
### (Optional) S3 Bucket
If you would rather store your data within a S3 Bucket, here is an easy way to do it.
1. Follow the [App User Config Guide](https://www.runtipi.io/docs/guides/customize-app-config) to make a folder and app.env.
2. In the docker-compose.yml you can set the S3 Config Like
```
version: "3"
services:
gotosocial:
environment:
- GTS_STORAGE_BACKEND=s3
- GTS_STORAGE_S3_ENDPOINT=your_endpoint
- GTS_STORAGE_S3_USE_SSL=true
- GTS_STORAGE_S3_ACCESS_KEY=your_access_key
- GTS_STORAGE_S3_SECRET_KEY=your_secret_key
- GTS_STORAGE_S3_BUCKET=your_bucket
```
3. Restart your app, and your good to go!
4. For More Info [Read the Docs!](https://docs.gotosocial.org/en/latest/configuration/storage/)
---
# GoToSocial
GoToSocial is an [ActivityPub](https://activitypub.rocks/) social network server, written in Golang.
With GoToSocial, you can keep in touch with your friends, post, read, and share images and articles. All without being tracked or advertised to!
[![](https://github.com/superseriousbusiness/gotosocial/raw/main/docs/assets/sloth.png)](https://github.com/superseriousbusiness/gotosocial/blob/main/docs/assets/sloth.png)
**GoToSocial is still [ALPHA SOFTWARE](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)**. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We foresee entering beta somewhere in 2023.
Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). You can skip straight to the API documentation [here](https://docs.gotosocial.org/en/latest/api/swagger/). To build from source, check the [CONTRIBUTING.md](https://github.com/superseriousbusiness/gotosocial/blob/main/CONTRIBUTING.md) file.
Here's a screenshot of the instance landing page!
[![Screenshot of the landing page for the GoToSocial instance goblin.technology. It shows basic information about the instance; number of users and posts etc.](https://github.com/superseriousbusiness/gotosocial/raw/main/docs/assets/instancesplash.png)](https://github.com/superseriousbusiness/gotosocial/blob/main/docs/assets/instancesplash.png)
## [Read More!](https://github.com/superseriousbusiness/gotosocial#table-of-contents-)

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB