Compare commits
No commits in common. "master" and "v3.0.5-r1-2" have entirely different histories.
master
...
v3.0.5-r1-
5 changed files with 19 additions and 38 deletions
15
.github/workflows/ci.yml
vendored
15
.github/workflows/ci.yml
vendored
|
@ -11,14 +11,14 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the codebase.
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install hadolint.
|
||||
run: |
|
||||
sudo curl -L https://github.com/hadolint/hadolint/releases/download/v$HADOLINT_VERSION/hadolint-$(uname -s)-$(uname -m) -o /usr/local/bin/hadolint
|
||||
sudo chmod 755 /usr/local/bin/hadolint
|
||||
env:
|
||||
HADOLINT_VERSION: 2.12.0
|
||||
HADOLINT_VERSION: 2.8.0
|
||||
|
||||
- name: Run hadolint.
|
||||
run: |
|
||||
|
@ -30,7 +30,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out the codebase.
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Find an open port.
|
||||
run: |
|
||||
|
@ -63,15 +63,12 @@ jobs:
|
|||
with:
|
||||
image-ref: ${{ github.repository }}:${{ github.run_id }}
|
||||
exit-code: '1'
|
||||
skip-files: '/etc/ssl/certs/vsftpd.pem'
|
||||
severity: 'CRITICAL,HIGH'
|
||||
|
||||
- name: Run Trivy vulnerability scanner.
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
image-ref: ${{ github.repository }}:nossl
|
||||
exit-code: '1'
|
||||
severity: 'CRITICAL,HIGH'
|
||||
|
||||
deploy:
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
|
@ -87,7 +84,7 @@ jobs:
|
|||
echo ::set-output name=VERSION::${TAG%-*}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to Quay
|
||||
uses: docker/login-action@v1
|
||||
|
@ -97,7 +94,7 @@ jobs:
|
|||
password: ${{ secrets.QUAY_PASSWORD }}
|
||||
|
||||
- name: Push to Quay
|
||||
uses: docker/build-push-action@v3
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
file: ./Dockerfile
|
||||
pull: true
|
||||
|
@ -111,7 +108,7 @@ jobs:
|
|||
VERSION: ${{ steps.get_version.outputs.VERSION }}
|
||||
|
||||
- name: Push nossl to Quay
|
||||
uses: docker/build-push-action@v3
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
file: ./Dockerfile_nossl
|
||||
pull: true
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
FROM alpine:3.18.4
|
||||
FROM alpine:3.15.0
|
||||
|
||||
LABEL maintainer="Amin Vakil <info@aminvakil.com>"
|
||||
|
||||
RUN apk --no-cache add vsftpd=3.0.5-r2
|
||||
RUN apk --no-cache add vsftpd=3.0.5-r1
|
||||
|
||||
COPY vsftpd.pem /etc/ssl/certs/vsftpd.pem
|
||||
COPY start_vsftpd.sh /usr/local/bin/start_vsftpd.sh
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
FROM alpine:3.18.4
|
||||
FROM alpine:3.15.0
|
||||
|
||||
LABEL maintainer="Amin Vakil <info@aminvakil.com>"
|
||||
|
||||
RUN apk --no-cache add vsftpd=3.0.5-r2
|
||||
RUN apk --no-cache add vsftpd=3.0.5-r1
|
||||
|
||||
COPY start_vsftpd.sh /usr/local/bin/start_vsftpd.sh
|
||||
COPY vsftpd.conf_nossl /etc/vsftpd/vsftpd.conf
|
||||
|
|
14
README.md
14
README.md
|
@ -1,16 +1,6 @@
|
|||
# docker-alpine-ftp-server-tls
|
||||
Small and flexible docker image with vsftpd server with tls
|
||||
|
||||
# Important Note
|
||||
I think upstream has made it more complicated than it needs to be since this commit and I'm not merging its commits anymore, although I cherry-pick some of them when I see fit.
|
||||
|
||||
https://github.com/delfer/docker-alpine-ftp-server/commit/fbf9afd9368d63a225e093bae227fa878de46b2c
|
||||
|
||||
Also for future reference this is the PR of this commit: https://github.com/delfer/docker-alpine-ftp-server/pull/36
|
||||
|
||||
FOr further discussion about this you can use [this issue](https://github.com/aminvakil/docker-alpine-ftp-server-tls/issues/14).
|
||||
|
||||
|
||||
## Usage
|
||||
```
|
||||
docker run -d \
|
||||
|
@ -24,9 +14,9 @@ docker run -d \
|
|||
## Configuration
|
||||
|
||||
Environment variables:
|
||||
- `USERS` - space and `|` separated list (optional, default: `alpineftp|alpineftp`)
|
||||
- `USERS` - space and `|` separated list (optional, default: `ftp|alpineftp`)
|
||||
- format `name1|password1|[folder1][|uid1] name2|password2|[folder2][|uid2]`
|
||||
- `ADDRESS` - external address to which clients can connect for passive ports (optional, should resolve to ftp server ip address)
|
||||
- `ADDRESS` - external address witch clients can connect passive ports (optional)
|
||||
- `MIN_PORT` - minimum port number to be used for passive connections (optional, default `21000`)
|
||||
- `MAX_PORT` - maximum port number to be used for passive connections (optional, default `21010`)
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/sh
|
||||
#Remove all ftp users
|
||||
grep '/ftp/' /etc/passwd | cut -d':' -f1 | xargs -r -n1 deluser
|
||||
#grep '/ftp/' /etc/passwd | cut -d':' -f1 | xargs -n1 deluser
|
||||
|
||||
#Create users
|
||||
#USERS='name1|password1|[folder1][|uid1] name2|password2|[folder2][|uid2]'
|
||||
|
@ -14,15 +14,14 @@ grep '/ftp/' /etc/passwd | cut -d':' -f1 | xargs -r -n1 deluser
|
|||
#Default user 'ftp' with password 'alpineftp'
|
||||
|
||||
if [ -z "$USERS" ]; then
|
||||
USERS="alpineftp|alpineftp"
|
||||
USERS="amin|alpineftp"
|
||||
fi
|
||||
|
||||
for i in $USERS ; do
|
||||
NAME=$(echo $i | cut -d'|' -f1)
|
||||
GROUP=$NAME
|
||||
PASS=$(echo $i | cut -d'|' -f2)
|
||||
NAME=$(echo $i | cut -d'|' -f1)
|
||||
PASS=$(echo $i | cut -d'|' -f2)
|
||||
FOLDER=$(echo $i | cut -d'|' -f3)
|
||||
UID=$(echo $i | cut -d'|' -f4)
|
||||
UID=$(echo $i | cut -d'|' -f4)
|
||||
|
||||
if [ -z "$FOLDER" ]; then
|
||||
FOLDER="/ftp/$NAME"
|
||||
|
@ -30,16 +29,11 @@ for i in $USERS ; do
|
|||
|
||||
if [ ! -z "$UID" ]; then
|
||||
UID_OPT="-u $UID"
|
||||
#Check if the group with the same ID already exists
|
||||
GROUP=$(getent group $UID | cut -d: -f1)
|
||||
if [ ! -z "$GROUP" ]; then
|
||||
GROUP_OPT="-G $GROUP"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "$PASS\n$PASS" | adduser -h $FOLDER -s /sbin/nologin $UID_OPT $GROUP_OPT $NAME
|
||||
echo -e "$PASS\n$PASS" | adduser -h $FOLDER -s /sbin/nologin $UID_OPT $NAME
|
||||
mkdir -p $FOLDER
|
||||
chown $NAME:$GROUP $FOLDER
|
||||
chown $NAME:$NAME $FOLDER
|
||||
unset NAME PASS FOLDER UID
|
||||
done
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue