tangled
alpha
login
or
join now
jbc.lol
/
wafrn
1
fork
atom
unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
1
fork
atom
overview
issues
1
pulls
pipelines
add autofollow to docker compose
plc.jbc.lol
3 months ago
fa076358
d63a28b0
+33
-1
6 changed files
expand all
collapse all
unified
split
docker-compose.advanced.metrics.yml
docker-compose.advanced.yml
docker-compose.simple.metrics.yml
docker-compose.simple.yml
packages
backend
websocket.ts
frontend
src
app
components
blog-header
blog-header.component.scss
+2
docker-compose.advanced.metrics.yml
···
74
74
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
75
75
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
76
76
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
77
77
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
77
78
78
79
FRONTEND_FQDN_URL: https://${DOMAIN_NAME}
79
80
···
123
124
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
124
125
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
125
126
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
127
127
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
126
128
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
127
129
CACHE_HOST: "cache:9000"
128
130
BACKEND_HOST: "wafrn-backend-1:9000 wafrn-backend-2:9000 wafrn-backend-3:9000"
+2
docker-compose.advanced.yml
···
73
73
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
74
74
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
75
75
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
76
76
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
76
77
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
77
78
78
79
FRONTEND_FQDN_URL: https://${DOMAIN_NAME}
···
123
124
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
124
125
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
125
126
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
127
127
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
126
128
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
127
129
CACHE_HOST: "cache:9000"
128
130
BACKEND_HOST: "wafrn-backend-1:9000 wafrn-backend-2:9000 wafrn-backend-3:9000"
+2
docker-compose.simple.metrics.yml
···
72
72
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
73
73
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
74
74
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
75
75
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
75
76
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
76
77
77
78
FRONTEND_FQDN_URL: https://${DOMAIN_NAME}
···
116
117
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
117
118
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
118
119
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
120
120
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
119
121
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
120
122
volumes:
121
123
- "caddy:/data"
+2
docker-compose.simple.yml
···
72
72
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
73
73
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
74
74
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
75
75
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
75
76
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
76
77
77
78
FRONTEND_FQDN_URL: https://${DOMAIN_NAME}
···
116
117
REGISTRATION_LEVEL: ${REGISTRATION_LEVEL:-}
117
118
REGISTRATIONS_DISABLED_TEXT: ${REGISTRATIONS_DISABLED_TEXT:-}
118
119
HIDE_BLOCKED_SERVERS: ${HIDE_BLOCKED_SERVERS:-}
120
120
+
AUTOFOLLOW_MAIN_ADMIN: ${AUTOFOLLOW_MAIN_ADMIN:-}
119
121
REGISTRATION_MINIMUM_AGE: ${REGISTRATION_MINIMUM_AGE:-}
120
122
volumes:
121
123
- "caddy:/data"
+20
packages/backend/websocket.ts
···
54
54
import { sequelize } from "./models/sequelize.js";
55
55
import { Op, Sequelize } from "sequelize";
56
56
import { Post } from "./models/post.js";
57
57
+
import { User } from "./models/index.js";
58
58
+
import { follow } from "./utils/follow.js";
59
59
+
import { getAdminUser } from "./utils/getAdminAndDeletedUser.js";
57
60
58
61
const PORT = completeEnvironment.port;
59
62
const app = express();
···
76
79
});
77
80
78
81
const queryInterface = sequelize.getQueryInterface();
82
82
+
83
83
+
if (completeEnvironment.autoFollowAdmin) {
84
84
+
try {
85
85
+
const users = await User.findAll({
86
86
+
where: {
87
87
+
banned: {
88
88
+
[Op.ne]: true
89
89
+
},
90
90
+
email: {
91
91
+
[Op.ne]: null,
92
92
+
},
93
93
+
}
94
94
+
})
95
95
+
const adminUser = await getAdminUser()
96
96
+
await Promise.all(users.map(x => follow(x.id, adminUser.id)))
97
97
+
} catch { }
98
98
+
}
79
99
80
100
clearDuplicatedBskyUris().then(async (res) => {
81
101
let postIndexes = await queryInterface.showIndex("posts");
+5
-1
packages/frontend/src/app/components/blog-header/blog-header.component.scss
···
79
79
background-color: rgba(0 133 255 / 0.35);
80
80
}
81
81
82
82
+
.bot-badge {
83
83
+
background-color: rgba(1, 190, 102, 0.35);
84
84
+
}
85
85
+
82
86
.ratio-badge {
83
87
background-color: var(--mat-sys-secondary-container);
84
84
-
}
88
88
+
}