Compare commits

...

20 Commits

Author SHA1 Message Date
notplants f955fe0f10 chore: publish 1.13.1+1.31.3 release
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-08-03 14:15:15 -04:00
notplants 2ce751dd28 Merge pull request 'Upgrade 1.14.0+1.31.1' (#10) from upgrade-1.14.0+1.31.1 into main
continuous-integration/drone/push Build is failing
Reviewed-on: #10
2026-08-03 18:09:32 +00:00
cc-ci 01a55eef76 chore: upgrade app to nginx 1.31.3
continuous-integration/drone/pr Build is failing
2026-07-24 03:41:00 +00:00
autonomic-bot 817ee13659 chore: upgrade app to nginx 1.31.2, git to alpine/git v2.54.0 2026-06-22 20:48:35 +00:00
recipe-maintainer e668be0f81 chore: upgrade to 1.14.0+1.31.1 2026-06-17 01:04:02 +01:00
trav 2b82ebabde Merge pull request 'pr-20260518-194117' (#9) from pr-20260518-194117 into main
continuous-integration/drone/push Build is failing
Reviewed-on: #9
2026-06-02 17:49:20 +00:00
trav df2e27339f chore: upgrade to 1.13.0+1.31.1
continuous-integration/drone/pr Build is failing
continuous-integration/drone/tag Build is passing
2026-06-02 02:04:15 +00:00
trav 4fc3482640 chore: upgrade to 1.12.0+1.30.1
continuous-integration/drone/pr Build is failing
2026-05-18 20:40:37 +01:00
3wordchant 8a02606643 chore: publish 1.11.0+1.29.0 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-07-23 17:31:23 +01:00
marlon 87a62a57cc chore: publish 1.10.0+1.28.0 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-05-10 14:49:49 -04:00
marlon e62cce703f Merge pull request 'sftp' (#4) from MIR/custom-html:sftp into main
continuous-integration/drone/push Build is passing
Reviewed-on: #4
2025-05-10 18:45:20 +00:00
marlon 25df83d7f7 Merge branch 'main' into sftp
continuous-integration/drone/pr Build is failing
2025-05-10 18:41:06 +00:00
trav 0638fd60ce chore: publish 1.9.0+1.28.0 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-04-30 13:36:49 -04:00
3wordchant 642ba666e6 chore: publish 1.8.1+1.27.4 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-04-10 19:06:52 +01:00
3wordchant 64dad451a8 chore: publish 1.8.0+1.27.4 release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-04-10 18:58:48 +01:00
marlon 68ccd5aaa0 Merge branch 'main' into sftp
continuous-integration/drone/pr Build is failing
2025-01-25 23:53:46 +00:00
marlon ba1c22690b switched to key-based auth for SSH, added docs
continuous-integration/drone/pr Build is failing
2025-01-25 18:51:02 -05:00
maximumultraist 29c4030009 Fix owner on /content 2025-01-25 00:13:24 -05:00
marlon 8d3acfbd5d add optional feature for sftp webroot access, wip 2025-01-22 21:59:44 -05:00
Brooke 3caf27beab Merge pull request 'add nginx configuration option for single page apps' (#3) from singlepage into main
continuous-integration/drone/push Build is passing
Reviewed-on: #3
2025-01-22 20:26:03 +00:00
7 changed files with 66 additions and 5 deletions
+5 -1
View File
@@ -25,4 +25,8 @@ COMPOSE_FILE="compose.yml"
#REDIRECT_TYPE=permanent
# Optionally handle all URL requests using a single file (commonly index.html)
#SINGLE_PAGE_SITE_HANDLER=/index.html
#SINGLE_PAGE_SITE_HANDLER=/index.html
# Enable an SSH server to allow SFTP uploads to the web root
#COMPOSE_FILE="$COMPOSE_FILE:compose.sftp.yml"
#PUBLIC_KEY="ssh-ed25519 AAAAC3NzaJ1lZDI1NTE5AAAAIXqf4nxUxuGmLOaxXXXXXXXXoM/GwhcrAgmtbgXToaYmCJ user@host" # Replace with a public key you generate
+15
View File
@@ -28,5 +28,20 @@ Custom HTML website, served using Nginx.
abra app cp YOURAPPDOMAIN index.html app:/usr/share/nginx/html
```
## Allowing upload via SSH/SFTP
To allow management of your site's files using scp, rsync or other SSH-based tools:
1. If you don't already have one, generate an SSH keypair using `ssh-keygen`
1. `abra app config YOURAPPDOMAIN`
2. Uncomment these lines and add your public key:
```
#COMPOSE_FILE="$COMPOSE_FILE:compose.sftp.yml"
#PUBLIC_KEY="ssh-ed25519 AAAAC3NzaJ1lZDI1NTE5AAAAIXqf4nxUxuGmLOaxXXXXXXXXoM/GwhcrAgmtbgXToaYmCJ user@host" # Replace with a public key you generate
```
3. `abra app undeploy YOURAPPDOMAIN`
3. `abra app deploy YOURAPPDOMAIN`
4. Test the SSH connection: `ssh -p 2220 sftp@YOURAPPDOMAIN`
5. You can copy local files into the server's web root with a command like: `scp -r -P 2220 * sftp@YOURAPPDOMAIN:/content`
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra
[`coop-cloud/traefik`]: https://git.autonomic.zone/coop-cloud/traefik
+1 -1
View File
@@ -1,2 +1,2 @@
export NGINX_DEFAULT_CONF_VERSION=v5
export NGINX_DEFAULT_CONF_VERSION=v6
export ENTRYPOINT_CONF_VERSION=v3
+1 -1
View File
@@ -3,7 +3,7 @@ services:
git:
environment:
- GIT_REPO_URL
image: alpine/git:v2.45.2
image: alpine/git:v2.54.0
entrypoint: /docker-entrypoint.sh
volumes:
- content:/git
+41
View File
@@ -0,0 +1,41 @@
version: "3.8"
services:
ssh:
image: lscr.io/linuxserver/openssh-server:latest
networks:
- proxy
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- USER_NAME=sftp
- PUBLIC_KEY
volumes:
- content:/content:rw
ports:
- 2220:2222
deploy:
restart_policy:
condition: on-failure
# The following is an admittedly hacky way of setting the owner
# of the `content` volume to the unprivileged `sftp` user, so
# that content can be transferred through the unprivileged sshd process
# using `scp` etc.
sshstart:
image: lscr.io/linuxserver/openssh-server:latest
user: root
depends_on:
- ssh
deploy:
restart_policy:
condition: none
volumes:
- content:/content:rw
entrypoint: [ "bash", "-c", "sleep 10 && chown -R 1000:1000 /content"]
volumes:
content:
networks:
proxy:
external: true
+2 -2
View File
@@ -3,7 +3,7 @@ version: "3.8"
services:
app:
image: nginx:1.27.2
image: nginx:1.31.3
networks:
- proxy
deploy:
@@ -19,7 +19,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
- "coop-cloud.${STACK_NAME}.version=1.7.1+1.27.2"
- "coop-cloud.${STACK_NAME}.version=1.13.1+1.31.3"
- "backupbot.backup=true"
- "backupbot.backup.path=/usr/share/nginx/html"
environment:
+1
View File
@@ -0,0 +1 @@
Adds optional sftp support