Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
0a3ee82
fix(dockerfile): fix dependecies
Atmois Sep 24, 2025
a14717d
fix(php): improve ini configs
Atmois Sep 24, 2025
480733c
Merge branch 'main' into 1.2
Atmois Sep 24, 2025
d033fda
Merge branch 'main' into 1.2
Atmois Sep 24, 2025
7c67684
Merge branch 'main' into 1.2
Atmois Sep 24, 2025
1b57a15
Merge branch 'main' into 1.2
Atmois Sep 24, 2025
c22c140
refactor(wiki): move all wiki files used by the Dockerfile to a dir
Atmois Sep 25, 2025
b006d80
feat(compose): switch from redis to valkey and fix the paths for the …
Atmois Sep 26, 2025
87f0392
fix(compose): fix paths in nginx config
Atmois Sep 26, 2025
7399bb2
fix(php): change to use valkey instead of redis
Atmois Sep 26, 2025
b94922c
cleanup(dockerfile): remove uneeded php extension
Atmois Sep 26, 2025
5dd5c10
feat(vscode): add vscode options
Atmois Sep 26, 2025
82641c3
fix(dockerignore): configure properly
Atmois Sep 26, 2025
7bc110a
fix(dockerfile): fix package dependencies
Atmois Sep 27, 2025
f3f5af1
fix(dockerfile): fix dependency conflict from pinned version number
Atmois Sep 27, 2025
d998bef
fix(dockerfile): update imagemagick version
Atmois Oct 2, 2025
a802f03
fix(dockerfile): formatting fix
Atmois Oct 2, 2025
90af1b5
fix(dockerfile): fix package pinned version
Atmois Oct 2, 2025
2bafea6
Merge branch 'main' into 1.2
Atmois Oct 2, 2025
4369fd5
cleanup(actions): remove unused action
Atmois Oct 3, 2025
179e814
feat(docker): Create separate local docker compose
Atmois Oct 4, 2025
1266cd1
feat(docker): Rename containers to operate for a local env
Atmois Oct 4, 2025
010f44b
feat(docker): Create local setup for database and s3 storage
Atmois Oct 4, 2025
b52fc14
feat(env): Create an env file for a local setup
Atmois Oct 4, 2025
882fe9f
feat(just): Create recipies for local dev setup
Atmois Oct 4, 2025
6367dae
fix(docker): Remove uneccsary port
Atmois Oct 4, 2025
61dfcb6
fix(docker): Simplify minio startup command
Atmois Oct 4, 2025
5ea6396
fix(env/just): Rename .env.local to .env.local.example
Atmois Oct 4, 2025
6628494
fix(docker): Update env names
Atmois Oct 4, 2025
0d15fb8
feat(env): Add deafult values for local env
Atmois Oct 4, 2025
a4da464
feat(dockerignore): Change to allowlist
Atmois Oct 4, 2025
6ee0715
fix(env): Disable mail option for local setup
Atmois Oct 4, 2025
462c51b
fix(env): Make order make more sense
Atmois Oct 4, 2025
d37676a
fix(env): Rename to be more clear about what it is
Atmois Oct 4, 2025
3b219a0
fix(env/docker): give vars more suitable names
Atmois Oct 5, 2025
fe7cb33
fix(config/env): Add env var for S3_ENDPOINT
Atmois Oct 5, 2025
4035103
fix(git): Add ignore for local compose volumes dirs
Atmois Oct 5, 2025
922c567
fix(file): Move file to the right directory
Atmois Oct 5, 2025
29110f1
feat(nginx/docker): make the server_name a env var
Atmois Oct 5, 2025
64baf6f
fix(env): add new S3_ENDPOINT variable
Atmois Oct 5, 2025
561d6e3
fix(vscode): Add extra detection for env files
Atmois Oct 5, 2025
b565642
fix(configs): use env variables for smtp and email options
Atmois Oct 6, 2025
53da329
fix(env): add new env vars
Atmois Oct 6, 2025
572f61c
fix(config): fix environment variable name
Atmois Oct 6, 2025
3940450
docs(env): add comments to all variables
Atmois Oct 6, 2025
e4da562
fix(env/config): rename variable for s3 credentials
Atmois Oct 6, 2025
5069a27
fix(env): fix sample version numbers
Atmois Oct 7, 2025
5bb0e26
fix(nginx/docker): fix config for local setup
Atmois Oct 7, 2025
31a2d4c
fix(docker): remove package pinning
Atmois Oct 17, 2025
8bb39af
fix(hadolint): Ignore package pinning
Atmois Oct 17, 2025
b1b02f7
fix(config): update IPs for new setup
Atmois Oct 19, 2025
9b5c1cb
fix(env): update sitename to include port
Atmois Oct 19, 2025
89369fc
feat(just): add init-local just script
Atmois Oct 19, 2025
f5215e1
fix(just): fix env path
Atmois Oct 19, 2025
f616335
fix(compose/just): fix nginx configs
Atmois Oct 19, 2025
e73f279
fix(just): add local nginx config needed
Atmois Oct 19, 2025
e3b7630
fix(just): fix db preifx in init
Atmois Oct 19, 2025
091e316
feat(config): add option for local setup
Atmois Oct 19, 2025
614d036
fix(just): add restart
Atmois Oct 19, 2025
e8c21fd
fix(docker/nginx): add empty conf to allow files to work right
Atmois Oct 19, 2025
4e84512
fix(just): update to consider previous commit
Atmois Oct 19, 2025
c025927
fix(just): add db schema update to init
Atmois Oct 19, 2025
ada1e65
fix(env): update comments
Atmois Oct 21, 2025
ab6d05f
fix(files): restructure to be tider
Atmois Oct 21, 2025
c6d1a05
fix(config): give sysop interwiki perms (commit 4495290)
Atmois Nov 20, 2025
593e385
chore(docker): change paths to be /wiki rather than /atlwiki
Atmois Nov 21, 2025
ec8f8d8
chore(files): move all deployment templates to subdir
Atmois Nov 21, 2025
3a333ad
chore(settings): fix file associations for Justfiles
Atmois Nov 21, 2025
360c8e8
feat(just): restructure to smaller files
Atmois Nov 21, 2025
0562d63
fix(configs): Remove action paths
Atmois Nov 25, 2025
d72218e
feat(just): add copyfile script
Atmois Nov 26, 2025
3ab456a
feat(just): add extras file with systemd scripts
Atmois Nov 26, 2025
b0d5361
feat(just): add clean-stop and update scripts
Atmois Nov 26, 2025
b9fbb43
chore(git): update .gitignore
Atmois Nov 30, 2025
73c2ed8
chore(compose): add warnings to compose files for name to not change
Atmois Nov 30, 2025
552b396
chore(vscode): fix file associations
Atmois Nov 30, 2025
ef6f465
feat(just): add init scripts and clean restart/stop scripts
Atmois Dec 1, 2025
795971d
feat(just): add health and status checks
Atmois Dec 1, 2025
e2e1584
fix(just): add sudo check script
Atmois Dec 1, 2025
023d8f9
feat(just): add destructive warning script
Atmois Dec 1, 2025
514c86f
chore(just): remove typo
Atmois Dec 1, 2025
bc0073f
feat(just): add warnings to commands
Atmois Dec 1, 2025
bff5342
fix(just): add sudo checks to sitemap scripts
Atmois Dec 1, 2025
2246e4f
chore(just): add comments and echo for better verbosity
Atmois Dec 2, 2025
e8038aa
feat(just): add mediawiki schema update script
Atmois Dec 2, 2025
9febd04
feat(just): add a help command
Atmois Dec 2, 2025
18995fe
chore(license): update copyright credits
Atmois Dec 3, 2025
48e08c1
feat(readme): add upstream dependeny credits
Atmois Dec 3, 2025
d80d002
chore(docker): alphabetise package names
Atmois Dec 3, 2025
78729b6
feat(readme): add warning and repo description
Atmois Dec 3, 2025
247f1ec
feat(readme): add mermaid diagram for dir structure
Atmois Dec 5, 2025
e1d8d72
feat(readme): add directory map table to supplement diagram
Atmois Dec 5, 2025
3b6a7cb
fix(readme): fix typo
Atmois Dec 5, 2025
f781ade
feat(readme): add setup commands
Atmois Dec 5, 2025
81e582e
feat(readme): add just command list
Atmois Dec 5, 2025
851061a
chore(readme): add warning for just
Atmois Dec 5, 2025
0624a2c
fix(readme): fix deps list
Atmois Dec 5, 2025
40b3756
chore(files): remove local file
Atmois Dec 6, 2025
8a8263f
Merge remote-tracking branch 'origin/main' into 1.2
Atmois Dec 6, 2025
edae05f
chore(readme): add some notices for system admins
Atmois Dec 6, 2025
94d5e29
feat(readme): add environment var section
Atmois Dec 6, 2025
7ecabd3
chore(env): update reccomended Citizen version
Atmois Dec 6, 2025
dc28063
chore(files): move to root
Atmois Dec 6, 2025
1ecfe53
fix(docker): switch php extension installer to tidy up builder stage …
Atmois Dec 6, 2025
74406b2
feat(docker/config): add wikidiff2
Atmois Dec 6, 2025
4a1c78a
chore(just): fix some minor parsing errors
Atmois Dec 6, 2025
646cf7f
chore(configs): add comments
Atmois Dec 6, 2025
40a3302
chore(docker/just/readme): update compose files inline with standards
Atmois Dec 6, 2025
cd1475c
chore(vscode): fix vscode file associations
Atmois Dec 6, 2025
51bc470
chore(vscode): fix vscode file associations (actually)
Atmois Dec 6, 2025
99b29b5
feat(extensions): add support for composer extensions and added Simpl…
Atmois Dec 8, 2025
9facede
chore(files): uncommit local file
Atmois Dec 10, 2025
f8825af
chore(just): add warning for copying files
Atmois Dec 10, 2025
8e6111b
fix(README): fix formatting
Atmois Dec 12, 2025
608ae7b
feat(.github): add CODEOWNERS
Atmois Dec 12, 2025
48b9560
feat(workflows): add linting actions
Atmois Dec 12, 2025
46591b6
feat(phpcs): add config
Atmois Dec 13, 2025
c00788d
chore(php): apply phpcs reccomendations and add exclude to rules
Atmois Dec 13, 2025
2312570
feat(workflows): add pylint action
Atmois Dec 13, 2025
abc4090
chore(py): add module docstring
Atmois Dec 13, 2025
84b3f90
feat(workflow): add build test workflow
Atmois Dec 13, 2025
03dca38
chore(workflow): fix formatting
Atmois Dec 13, 2025
87a73ad
chore(env): fix example env example var for DB_SERVER
Atmois Dec 15, 2025
27d3a43
chore(docs): update naming of wiki project
Atmois Dec 19, 2025
b072254
chore(readme): fix typos
Atmois Dec 21, 2025
861d8d0
chore(ext): fix extension names
Atmois Dec 21, 2025
1d50688
chore(php): remove duplicate groupPermission
Atmois Dec 21, 2025
a90211b
chore(just): cleanup some errors
Atmois Dec 21, 2025
af1dfa1
chore(just): fix a typo
Atmois Dec 21, 2025
78dc067
updated configs to allow opensearch to work properly
scottc943 Jan 1, 2026
12aa8d7
fixed linting issues
scottc943 Jan 1, 2026
e8910ec
ci: run phpcs first, then auto fix with phpcbf when needed
scottc943 Jan 1, 2026
41b76c8
fix(php, just) improved config based on code review
scottc943 Jan 1, 2026
7dd5932
fix(php) reordered extensions that dependon on eachother.
scottc943 Jan 1, 2026
53d22ba
fix(php,ci) added phpcbf in github action and fixed the long line wit…
scottc943 Jan 1, 2026
e24d308
chore(readme): fix wording
Atmois Jan 8, 2026
2dd9d57
Merge branch '1.2' of github.com:allthingslinux/atl-wiki into 1.2
Atmois Jan 8, 2026
89567e0
chore(just): fix indentation
Atmois Jan 9, 2026
e5ef541
chore(readme): fix typos
Atmois Jan 9, 2026
d996ab1
chore(readme): fix more typos
Atmois Jan 9, 2026
9accc0b
fix(just): switch to docker compose exec
Atmois Jan 9, 2026
43c6c40
fix(just): fix indentation again
Atmois Jan 9, 2026
1493fae
fix(just): fix indentation for the last time
Atmois Jan 9, 2026
b7dcf16
fix(just): split opensearch scripts to their own file
Atmois Jan 9, 2026
8083b2c
chore(docker): remove uneeded runtime dependencies
Atmois Jan 9, 2026
462e30b
chore(configs): alphabtise extensions
Atmois Jan 9, 2026
a2a3b96
feat(docker): add opensearch container
Atmois Jan 9, 2026
59c987b
fix(just): set justfile_directory
Atmois Jan 9, 2026
1158fe6
fix(just): fix justfile_directory logic
Atmois Jan 9, 2026
ad79c3c
fix(composer): add search plugin requirements
Atmois Jan 9, 2026
80a537d
fix(compose): fix opensearch env variables
Atmois Jan 9, 2026
f79bf7d
chore(compose): implement review suggestions
Atmois Jan 10, 2026
08ee542
fix(robots): remove action path entries as we moved away from them
Atmois Jan 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 5 additions & 13 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
.env
.env.example
LICENSE
README.md
compose.yml
production-compose.yml.example
staging-compose.yml.example
compose.yml.example
composer.lock
.gitignore
.git/
vendor/
systemd/
# Deny all files by default
*

# Allow everything in the wiki directory
!wiki/
75 changes: 66 additions & 9 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,31 +1,88 @@
# Build Arguments

# This major version number of MediaWiki you want to use, e.g. "1.44"
MEDIAWIKI_MAJOR_VERSION=""
# The full version number of MediaWiki you want to use, e.g. "1.44.2"
MEDIAWIKI_VERSION=""
# The branch of MediaWiki you want to use for extensions, e.g. "REL1_44"
MEDIAWIKI_BRANCH=""
# The version of the Citizen skin you want to use, e.g. "3.11.0"
CITIZEN_VERSION=""


# Core Secrets

# The key to access the upgrade page, this is disabled on the default image
# This needs to be a 16 character alphanumeric string
UPGRADE_KEY=""
# The key is used for various security related functions within MediaWiki
# This needs to be a 64 character alphanumeric string
SECRET_KEY=""

# DB Secrets

# DB Configurations

# The IP address or hostname of your database server
DB_SERVER=""
# The name of the table in the database used by MediaWiki
DB_NAME=""
# The username used by MediaWiki to connect to the database
DB_USER=""
# The password used by MediaWiki to connect to the database
DB_PASSWORD=""

# Extension Secrets
TURNSTILE_SITE_KEY=""

# SMTP Configurations and Secrets

# The SMTP server host address
SMTP_HOST=""
# The SMTP domain you wish to use for sending emails
SMTP_DOMAIN=""
# The SMTP server port, usually 587 for TLS or 465 for SSL
SMTP_PORT=""
# The email address to send SMTP emails from for service notifications
SMTP_USERNAME=""
# The password for the SMTP username
SMTP_PASSWORD=""
# The email address to send emergency notifications to
EMERGENCY_EMAIL=""


# Cloudflare Turnstile Secrets

# The site key for Cloudflare Turnstile
TURNSTILE_SITE_KEY=""
# The secret key for Cloudflare Turnstile
TURNSTILE_SECRET_KEY=""
DISCORD_WEBHOOK_URL=""


# OpenID Okta Secrets

# The client ID for OpenID authentication from Okta
OPENID_CLIENT_ID=""
# The client secret for OpenID authentication from Okta
OPENID_CLIENT_SECRET=""
ACCESS_KEY_ID=""
SECRET_ACCESS_KEY=""

# Wiki Configurations

# S3 Configurations and Secrets

# The S3 endpoint URL
S3_ENDPOINT=""
# The S3 access key ID
S3_ACCESS_KEY_ID=""
# The S3 secret access key
S3_SECRET_ACCESS_KEY=""
# The S3 bucket name
S3_BUCKET_NAME=""
# The S3 bucket domain
S3_BUCKET_DOMAIN=""


# Miscellaneous Configurations

# The domain the wiki will be accessible from, without the protocol (e.g. example.com)
SITENAME=""
# The full URL the wiki will be accessible from, including the protocol (e.g. https://example.com)
WG_SERVER=""
AWS_BUCKET_NAME=""
AWS_BUCKET_DOMAIN=""
# Discord Webhook URL
DISCORD_WEBHOOK_URL=""
96 changes: 96 additions & 0 deletions .env.local.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Build Arguments

# This major version number of MediaWiki you want to use, e.g. "1.44"
MEDIAWIKI_MAJOR_VERSION=""
# The full version number of MediaWiki you want to use, e.g. "1.44.2"
MEDIAWIKI_VERSION=""
# The branch of MediaWiki you want to use for extensions, e.g. "REL1_44"
MEDIAWIKI_BRANCH=""
# The version of the Citizen skin you want to use, e.g. "3.11.0"
CITIZEN_VERSION=""


# Core Secrets

# The key to access the upgrade page, this is disabled on the default image
# This needs to be a 16 character alphanumeric string
UPGRADE_KEY=""
# The key is used for various security related functions within MediaWiki
# This needs to be a 64 character alphanumeric string
SECRET_KEY=""


# DB Configurations

# The IP address or hostname of your database server
DB_SERVER="local-wiki-mariadb"
# The name of the table in the database used by MediaWiki
DB_NAME="local-maria-db" # This needs to match MARIADB_NAME
# The username used by MediaWiki to connect to the database
DB_USER="local-maria-user" # This needs to match MARIADB_USER
# The password used by MediaWiki to connect to the database
DB_PASSWORD="local-maria-password" # This needs to match MARIADB_PASSWORD


# SMTP Configurations and Secrets

# The SMTP server host address
SMTP_HOST=""
# The SMTP domain you wish to use for sending emails
SMTP_DOMAIN=""
# The SMTP server port, usually 587 for TLS or 465 for SSL
SMTP_PORT=""
# The email address to send SMTP emails from for service notifications
SMTP_USERNAME=""
# The password for the SMTP username
SMTP_PASSWORD=""
# The email address to send emergency notifications to
EMERGENCY_EMAIL=""


# Cloudflare Turnstile Secrets

# The site key for Cloudflare Turnstile
TURNSTILE_SITE_KEY=""
# The secret key for Cloudflare Turnstile
TURNSTILE_SECRET_KEY=""


# OpenID Okta Secrets - DISABLED LOCALLY

# The client ID for OpenID authentication from Okta
# OPENID_CLIENT_ID=""
# The client secret for OpenID authentication from Okta
# OPENID_CLIENT_SECRET=""


# S3 Configurations and Secrets

# The S3 endpoint URL
S3_ENDPOINT="http://minio:9000"
# The S3 access key ID
S3_ACCESS_KEY_ID="local-minio-user" # This needs to match MINIO_USER
# The S3 secret access key
S3_SECRET_ACCESS_KEY="local-minio-password" # This needs to match MINIO_PASSWORD
# The S3 bucket name
S3_BUCKET_NAME=""
# The S3 bucket domain
S3_BUCKET_DOMAIN="minio:9000"


# Miscellaneous Configurations

# The domain the wiki will be accessible from, without the protocol (e.g. localhost:3000)
SITENAME="localhost:3000"
# The full URL the wiki will be accessible from, including the protocol (e.g. https://localhost:3000)
WG_SERVER="http://localhost:3000"
# Discord Webhook URL
DISCORD_WEBHOOK_URL=""


# Local Configurations
MARIADB_PASSWORD="local-maria-password" # This needs to match DB_PASSWORD
MARIADB_NAME="local-maria-db" # This needs to match DB_NAME
MARIADB_USER="local-maria-user" # This needs to match DB_USER
MINIO_USER="local-minio-user" # This needs to match S3_ACCESS_KEY_ID
MINIO_PASSWORD="local-minio-password" # This needs to match S3_SECRET_ACCESS_KEY
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @allthingslinux/wiki-admin
22 changes: 22 additions & 0 deletions .github/workflows/lint-dockerfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Lint Dockerfile

on:
pull_request:
branches:
- main
paths:
- '**/Dockerfile*'

jobs:
hadolint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Lint Dockerfile with hadolint
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: Dockerfile
failure-threshold: error
60 changes: 60 additions & 0 deletions .github/workflows/lint-php.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Lint PHP

on:
pull_request:
branches: [main]
paths:
- '**/*.php'

permissions:
contents: write
pull-requests: write

jobs:
phpcs:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v5
with:
ref: ${{ github.head_ref }}

- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
tools: phpcs, phpcbf

- name: Lint with PHPCS
id: phpcs
shell: bash
run: |
set +e
phpcs .
echo "exit_code=$?" >> "$GITHUB_OUTPUT"
set -e

- name: Auto fix with PHPCBF
if: steps.phpcs.outputs.exit_code != '0'
run: phpcbf .

- name: Commit fixes
if: steps.phpcs.outputs.exit_code != '0' && github.event.pull_request.head.repo.fork == false
shell: bash
run: |
if git diff --quiet; then
echo "PHPCBF ran but no changes were made."
exit 0
fi

git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git commit -m "Apply PHPCBF fixes"
git push

- name: Lint with PHPCS again
if: steps.phpcs.outputs.exit_code != '0'
run: phpcs .

26 changes: 26 additions & 0 deletions .github/workflows/lint-python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Lint Python

on:
pull_request:
branches:
- main
paths:
- '**.py'

jobs:
pylint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
run: pip install pylint

- name: Run Pylint
run: pylint $(git ls-files '*.py')
20 changes: 0 additions & 20 deletions .github/workflows/sync-staging.yml

This file was deleted.

33 changes: 33 additions & 0 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Docker Build Test

on:
pull_request:
branches:
- main
paths:
- 'Dockerfile'
- 'wiki/**'

jobs:
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build test image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: false
tags: test:latest
cache-from: type=gha
cache-to: type=gha,mode=max
build-args: |
MEDIAWIKI_MAJOR_VERSION=1.44
MEDIAWIKI_VERSION=1.44.3
MEDIAWIKI_BRANCH=REL1_44
CITIZEN_VERSION=3.11.0
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
vendor/
.env
compose.yaml
composer.lock
compose.yaml
backups/
database/
images/
vendor/
3 changes: 3 additions & 0 deletions .hadolint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
ignored:
- DL3018 # Pin versions in apk add
Loading